我有一个ASP.NET页面,它从数据库表中提取一组图像,然后使用枚举器遍历所有这些图像然后显示。
这一切都发生在代码隐藏(VB.NET)中,其中代码在表格中添加占位符和一些控件(占位符内的表格)。
我已经以编程方式向此占位符(在表格单元格内)添加了一个按钮,但是如何以编程方式向按钮添加单击事件?我想触发一个javascript(灯箱),它显示图像的大预览(这在用户点击一个小图像时起作用,该图像调用指向javascript的代码上的字符串超链接。)
答案 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非常相似。