onserverclick在运行时添加属性时不会触发c#
问题描述:
我在C#web窗体的运行时添加一个按钮。当按钮被调用时,我需要调用一个函数btnEdit_click。不知何故该函数没有被调用。onserverclick在运行时添加属性时不会触发c#
代码如下。请帮助
protected void btnEdit_Click(object sender, EventArgs e)
{
Response.Redirect("~/Setup.aspx");
}
HtmlGenericControl EditButton = new HtmlGenericControl("button");
EditButton.Attributes["class"] = "btn btn-default";
EditButton.Attributes["id"] = "editButton";
EditButton.Attributes["runat"] = "server";
EditButton.Attributes["OnServerClick"] = "btnEdit_Click";
EditButton.InnerText = "Edit";
答
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
</form>
</body>
</html>
protected void Page_Load(object sender, EventArgs e)
{
HtmlButton EditButton = new HtmlButton();
EditButton.Attributes["class"] = "btn btn-default";
EditButton.Attributes["id"] = "editButton";
EditButton.Attributes["runat"] = "server";
EditButton.InnerText = "Edit";
EditButton.ServerClick += btnEdit_Click;
this.form1.Controls.Add(EditButton);
}
protected void btnEdit_Click(object sender, EventArgs e)
{
Response.Redirect("~/Setup.aspx");
}
我想通了一段时间回来,但它的工作原理。谢谢!! – Zee