我有一个非常简单的表单,我在网络表单网站中使用。表单嵌入在ascx控件中,并在整个站点中以各种页面重复使用。它工作正常,直到我们决定使用ajax回发实现服务器端验证。所以,我添加了更新面板和触发器,如果我使用Default.aspx表单中的表单,一切正常,但它不适用于任何其他页面。我已经谷歌搜索了两天,到目前为止我无法弄清楚这是一个ASPX问题,还是它是一个IIS配置问题。我非常困难。
这是表格(非常简单)。表单驻留在ASCX用户控件
中
<asp:UpdatePanel ID="AllFormFields" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div>
<asp:TextBox ID="txtFirstName" runat="server" placeholder="First Name"></asp:TextBox>
</div>
<div>
<asp:TextBox ID="txtLastName" runat="server" placeholder="Last Name"></asp:TextBox>
</div>
<div>
<asp:TextBox ID="txtEmail" runat="server" placeholder="E-Mail" TextMode="Email"></asp:TextBox>
</div>
<div>
<asp:TextBox ID="txtPhone" runat="server" placeholder="Phone" TextMode="Phone"></asp:TextBox>
</div>
<div>
<asp:DropDownList ID="rcbPrimarySpecialty" runat="server" EmptyMessage="Primary Specialty"></asp:DropDownList>
</div>
<div>
<asp:TextBox ID="txtComments" Rows="10" TextMode="MultiLine" runat="server" placeholder="Comments"></asp:TextBox>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnSubmit" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<div>
<asp:Button ID="btnSubmit" runat="server" Text="Request Info" CausesValidation="true" ClientIDMode="AutoID" />
</div>
<div>
<asp:UpdatePanel ID="ValidationMessagePanel" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="lblValidationMessage" runat="server" Text=""></asp:Label>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnSubmit" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</div>
这个想法是用户点击按钮btnSubmit,ajax调用它的点击处理程序。
当我在VS调试器下使用该站点时,甚至不会调用点击处理程序。其他东西正在干扰Ajax调用,并且回发永远不会发生。