我正在寻找处理 HTML <button>
的点击事件(不是 <input type="button">
)在后端。我想要处理按钮的原因是因为我的设计到处都有按钮控件,因此修改所有 CSS 会需要更多工作。
对于我的按钮,我有:
<button type="submit" id="submit" runat="server">Send</button>
在我的代码后面,我有:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
submit.ServerClick += new EventHandler(submit_click);
}
}
protected void submit_click(object sender, EventArgs e)
{
// never being hit
}
这可能吗?
最佳答案
您应该删除 if (Page.IsPostBack)
的条件检查。您的代码当前无法工作,因为 onclick 处理程序仅在页面首次呈现时设置。然后,当用户单击按钮时,会发生回发,但现在您的页面代码不再具有与按钮关联的处理程序,因此没有代码可以执行。只需这样做:
protected void Page_Load(object sender, EventArgs e)
{
submit.ServerClick += new EventHandler(submit_click);
}
protected void submit_click(object sender, EventArgs e)
{
// now it should get hit
}
关于asp.net - 将 ServerClick 事件添加到 ASP.NET <button> 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4999677/