在我的aspx頁面上,我有兩個fieldsets
,每個按<asp:Panel DefaultButton="...">
包裝,每個按鈕都有自己的<input type="submit">
按鈕。下面是一個簡化版本...多個提交按鈕不會在aspx上回發 - 只有最後一個按鈕
<div id="content">...</div>
<asp:Panel runat="server" id="formPanel1" DefaultButton="form1SubmitButton">
<fieldset>
<asp:TextBox runat="server" id="textbox1"/>
<asp:TextBox runat="server" id="textbox2"/>
<asp:Button runat="server" id="form1SubmitButton" OnClick="form1SubmitButton_OnClick"/>
</fieldset>
</asp:Panel>
<asp:Panel runat="server" id="formPanel2" DefaultButton="form2SubmitButton">
<fieldset>
<asp:TextBox runat="server" id="textbox3"/>
<asp:TextBox runat="server" id="textbox4"/>
<asp:Button runat="server" id="form2SubmitButton" OnClick="form2SubmitButton_OnClick"/>
</fieldset>
</asp:Panel>
只有當點擊最後一個提交按鈕form2SubmitButton
會回傳,其他按鍵不執行任何操作。 我已經簡化了上面的代碼,但我應該提到每個表單(包含Panel)都保存在aspx中註冊的單獨用戶控件中。
UPDATE:一些更多的研究,我已經想通了的提交沒有工作,因爲在主網頁上的另一個字段集驗證後。該字段用於登錄該網站,因此它是必需的。思考?
這甚至不應該編譯/運行。在這種情況下,ID必須是唯一的。我懷疑過於「縮寫」。在任何情況下,「回發未運行」的真正常見問題(但回發仍然發生!)是由控制樹未正確恢復造成的。另外,「什麼都不做」是什麼意思?是否發送了請求?它是否在對__dopostback的調用中出錯?有沒有UpdatePanels?有沒有驗證? – 2012-07-25 20:13:14
這些字段集中的每一個實際上都在單獨的用戶控件中。所以ID是相同的不應該有任何區別。這個例子我會改變它。你能解釋一下,還是指向正確的方向,找出更多關於控制樹沒有正確恢復的信息? – bflemi3 2012-07-25 20:18:34
您可能希望檢查以確保您的驗證組不會阻止其中一個提交。 – PCasagrande 2012-07-25 20:21:03