2015-08-23 90 views
-1

我有DetailsViewTemplateField內將以下代碼:按鈕不會觸發回傳

<asp:UpdatePanel runat="server" ID="up1" ChildrenAsTriggers="True" UpdateMode="Conditional"><ContentTemplate> 
<table> 
<tr> 
<td><asp:Button ID="btn1" runat="server" OnClick="btn1_Click" /></td> 
<td><asp:TextBox ID="txt1" runat="server" OnTextChanged="txt1_TextChanged" AutoPostBack="True" /></td> 
</tr> 
</table> 
</ContentTemplate> 
</UpdatePanel> 

點擊btn1不會導致回傳,並且永遠不會達到btn1_Click,但觸發頁面上的所有驗證。

更改txt1會導致回發並且按預期達到該方法。

爲什麼在按鈕單擊時沒有回傳?

我嘗試添加AutoPostBack="True"btn1並添加Click事件作爲UpdatePanelAsyncPostBackTrigger。沒有幫助。

回答

0

確定點擊按鈕不會導致回發?您是否在UpdatePanel之前添加了ScriptManager標籤。你的設計代碼應該看起來像

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager><asp:UpdatePanel runat="server" ID="up1" ChildrenAsTriggers="True" UpdateMode="Conditional"><ContentTemplate> 
<table> 
<tr> 
<td><asp:Button ID="btn1" runat="server" OnClick="btn1_Click" /></td> 
<td><asp:TextBox ID="txt1" runat="server" OnTextChanged="txt1_TextChanged" AutoPostBack="True" /></td> 
</tr> 
</table> 
</ContentTemplate> 
</asp:UpdatePanel> 
+0

是的,我有'ScriptManager'。 我已經把斷點放在'Page_Load'中,這就是我知道'Button'沒有回傳的方法 –