按钮不会触发回发

时间:2015-08-23 12:43:49

标签: c# asp.net updatepanel postback

我在TemplateField DetailsView内有以下代码:

<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会导致回发,并且按预期方式达到该方法。

为什么Button Click上没有回发?

我尝试将AutoPostBack="True"添加到btn1,并将Click事件添加为AsyncPostBackTrigger的{​​{1}}。没有帮助。

1 个答案:

答案 0 :(得分:0)

您确定点击按钮不会导致回发吗?您是否在ScriptManager之前添加了UpdatePanel代码。您的设计代码应该是

    <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>