我正在尝试使用我在开发Web应用程序时可以考虑的最强大的OOP,但是在使用代码创建事件处理程序时,我遇到了问题。我确信这是一个相当简单的解决方案,我不断放弃,但我不知道下一步该尝试什么。下面是我一直在玩的一些测试代码,只是想按一下按钮去做一些事情。
(想象一下,“int i;”)
这一行有一个断点 Button b = new Button();
b.Text = "Do Something";
b.Attributes.Add("runat", "server");
b.Attributes.Add("OnClick", "click");
form1.Controls.Add(b);
private void click(object sender, EventArgs e)
{
int i;
}
由于这是我的Page_Load创建的新按钮,我不能只是对XHTML进行硬编码。调试永远不会到达我的断点。我在CheckBoxes方面也没有取得任何成功。
答案 0 :(得分:11)
您必须订阅Click
事件:
Button b = new Button();
b.Text = "Do Something";
b.Click += click;
form1.Controls.Add(b);
private void click(object sender, EventArgs e)
{
int i;
}
通过将onclick
属性添加到Button的Attributes
集合,它将呈现为HTML输入标记的属性。在这种情况下,您可以使用它在客户端执行一些JavaScript代码。
b.Attributes.Add("onclick", "alert('Hey')");
//Will render the button as
<input type="submit" name="x" value="Do Something" onclick="alert('Hey')">
答案 1 :(得分:1)
你可以这样做:
Button b = new Button();
b.Text = "Do Something";
b.Click += new EventHandler((s, ev) =>
{
int i;
});
form1.Controls.Add(b);