通过VB.NET为按钮添加点击事件以触发JavaScript

4
我有一个ASP.NET页面,从数据库表中获取一组图像,并使用枚举器遍历所有图像并显示它们。
这一切都发生在后端代码(VB.NET)中,代码添加了占位符和一些控件到表格中(表格在占位符内)。
我已经通过编程方式向此占位符(表格单元格内)添加了一个按钮,但是如何以编程方式添加单击事件呢? 我想触发一个JavaScript(lightbox),它会显示图像的大预览(当用户单击小图像时,这将调用指向JavaScript的字符串超链接)。
4个回答

14

cmdMyButton.attributes.add("onclick", "alert('hello');")是什么意思?


7
您可以使用OnClientClick命令调用客户端JavaScript。如果您的按钮名为btnMyButton,请按以下方式编写代码:
btnMyButton.OnClientClick = "window.open('http://www.myimage.com'); return false;";

在末尾使用 return false 可以确保按钮不会在页面上引起后向传递(post back)。用您所需的操作替换JavaScript。

以上的另一种选择是

btnMyButton.Attributes.Add("onclick", "window.open('http://www.myimage.com'); return false;";

URL需要加引号。 - Tomalak

2
.NET Framework 中添加 Web 控件属性(例如 onClick)的首选方法是:
control.Attributes.Add("onclick", "javascript:DoSomething('" + control.Value + "')")

当另一个事件被触发时(例如,DataBound),您还可以添加onClick事件:

Private Sub ctlControlName_ActionName(ByVal sender As Object, ByVal e As System.EventArgs)
        Handles ctlControlName.ActionName
Dim control As ControlType = DirectCast(sender, ControlType)
control.Attributes.Add("onclick", "javascript:DoSomething('" + control.Value + "')")
End Sub

希望这可以帮到你!

1

button.Attributes.Add("onclick", "javascript:fireLightBox()")

这是C#的代码,但我认为VB.NET应该差不多。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接