通过VB.NET将click事件添加到按钮以激活javascript

时间:2008-10-09 15:44:51

标签: asp.net javascript vb.net

我有一个ASP.NET页面,它从数据库表中提取一组图像,然后使用枚举器遍历所有这些图像然后显示。

这一切都发生在代码隐藏(VB.NET)中,其中代码在表格中添加占位符和一些控件(占位符内的表格)。

我已经以编程方式向此占位符(在表格单元格内)添加了一个按钮,但是如何以编程方式向按钮添加单击事件?我想触发一个javascript(灯箱),它显示图像的大预览(这在用户点击一个小图像时起作用,该图像调用指向javascript的代码上的字符串超链接。)

4 个答案:

答案 0 :(得分:14)

cmdMyButton.attributes.add("onclick", "alert('hello');")

答案 1 :(得分:7)

您可以使用OnClientClick命令调用客户端javascript。 如果您的按钮名为btnMyButton,请按如下所示编写代码:

btnMyButton.OnClientClick = "window.open('http://www.myimage.com'); return false;";

在结尾处使用return false将确保该按钮不会导致页面上的回发。 用你想要的东西替换javascript。

以上的替代方案是

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

答案 2 :(得分:2)

.NET Framework向webcontrol添加属性(例如onClick)的首选方法是:

control.Attributes.Add("onclick", "javascript:DoSomething('" + control.Value + "')")

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

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

希望这有帮助!

答案 3 :(得分:1)

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

这是C#,但我认为VB.NET非常相似。