如何在C#上创建时将事件添加到ImageButton?
问题描述:
我想在每一行上生成一个ImageButton表。如何在C#上创建时将事件添加到ImageButton?
行取决于我从日历对象所做的查询。
我的问题是当我生成我的imagebutton,我无法设置“onClick”事件来激发类内的方法。
这是我的代码:
ImageButton test = new ImageButton();
test.Click += new ImageClickEventHandler(borraCita);
test.ImageUrl = "~/Images/jumo.png";
test.Attributes.Add("runat", "server");
再次感谢:)
答
我不明白为什么这是行不通的。你有没有把它添加到页面?
this.form1.Controls.Add(test);
此外,你是否看到任何JS错误?你用Firebug评估过吗?我们可能需要更多的代码来帮助你,因为我没有理由不这么做。
你是否在页面的代码隐藏的PreInit方法中执行此操作?如果不是的话,你可能想把逻辑放在那里,因为之后的任何动态都将被忽略。
答
您的服务器端单击处理程序已使用Click
事件设置为borraCita
。此外,您不需要为runat=server
添加属性。
ImageButton test = new ImageButton();
// this is your server side click handler:
test.Click += new ImageClickEventHandler(borraCita);
test.ImageUrl = "~/Images/jumo.png";
// add the image to the appropriate control:
someControl.Controls.Add(test);
如果您需要添加客户端事件处理程序,您可以使用OnClientClick
:
test.OnClientClick= "someJavascriptFunction();";
行的是什么?如果您使用的是GridView,最好在那里定义按钮(在标记中),因为您可以轻松地将事件分配到那里。 – Rich
我正在使用表格 – rafuru
您不必在标记中设置“OnClick”,因为您已经使用'Click'在代码中添加了一个处理程序。 – jrummell