我有一个ASP.NET Web表单。我第一次提交表单时,会引发SubmitButton_Click事件。
表单将返回浏览器,或者出现验证错误,或者选择使用新值再次提交表单。
再次汇总表单时,SubmitButton_Click事件永远不会触发。 Page_Load会触发,但不会触发按钮。
有谁知道为什么我会在服务器端看到这种行为?
(我正在使用jQuery和验证控件客户端,但我认为它不会导致问题。无论如何我都会提到它。)
修改
<asp:Button ID="SubmitButton" OnClick="SubmitButton_Click"
runat="server" />
事件在控件上设置,而不是在代码中设置。
答案 0 :(得分:2)
如果您未在页面生命周期中尽早创建控件,则可能会出现动态创建的控件。你的细节有点短,但你的按钮是动态创建的吗?
答案 1 :(得分:0)
你如何“连接”你的事件处理程序?
听起来你是在if(IsPostback)块中连接它,它不是第二次运行...
答案 2 :(得分:0)
JQuery是否提交表单?如果未在客户端调用__doPostBack()
(使用适当的争论),则不会发生服务器端事件。
答案 3 :(得分:0)
Click事件处理程序如何与提交按钮相关联?声明性地还是代码?
如果它在代码中,请确保您没有在这样的块中执行此操作:
if (!Page.IsPostBack) {
submitButton.Click += new EventHandler(submitButton_Click);
}
这会阻止在回发页面时附加事件处理程序(即Page.IsPostBack
为true
)。