2009-06-04 188 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

如果您不在頁面生命週期中足夠早地創建它們,就可能發生動態創建的控件。你對細節有點缺乏,但你的按鈕是動態創建的嗎?