2009-06-04 123 views
3

我有一个ASP.NET Web窗体。我第一次提交表单时,会引发SubmitButton_Click事件。ASP.NET Click()事件在第二次回发时不会触发

将窗体返回给浏览器,其中包含验证错误或使用新值提交窗体的选项。

当表单重新拼接时,SubmitButton_Click事件从不触发。 Page_Load会触发,但不是按钮。

有谁知道为什么我会在服务器端看到这种行为?我正在使用jQuery和验证控制客户端,但我不认为这是造成问题,我想我会提及它)。

编辑:

<asp:Button ID="SubmitButton" OnClick="SubmitButton_Click" 
     runat="server" /> 

事件被设置在控制,而不是代码。

+0

代码将有所帮助。特别是你如何连接你的事件处理程序。 – 2009-06-04 21:10:08

回答

0

是JQuery的表单提交?如果没有在客户端调用__doPostBack()(通过适当的争论),服务器端事件将不会发生。

0

你如何“布线”你的事件处理程序?

听起来好像你是在如果(的IsPostBack)块,这是不被运行第二次布线起来......

+0

打我吧!我认为你的意思是如果(!IsPostBack)虽然:-) – dariom 2009-06-04 21:15:11

+0

不,在代码后面没有连线。 – y0mbo 2009-06-04 21:25:11

0

Click事件处理程序如何与提交按钮相关联?声明或代码?

如果是在代码中,请确保你没有做它在这样一个块:

if (!Page.IsPostBack) { 
    submitButton.Click += new EventHandler(submitButton_Click); 
} 

这将防止当页回附着事件处理(即Page.IsPostBacktrue)。

2

如果您不在页面生命周期中足够早地创建它们,就可能发生动态创建的控件。你对细节有点缺乏,但你的按钮是动态创建的吗?