添加脚本管理器时验证失败

本文关键字:验证 失败 管理器 脚本 添加 | 更新日期: 2023-09-27 18:13:49

我在主页上设置了几个电子邮件订阅控件。

Web-form工作正常,但如果没有输入电子邮件地址,则不会触发验证。

<asp:UpdatePanel ID="updSubscribe" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
            <asp:Panel ID="pnlSubscribe" runat="server" >
                <asp:TextBox ID="txtEmail" CssClass="form-control form-subscribe-input" runat="server" placeholder="YOUR EMAIL"></asp:TextBox>
                 <asp:RequiredFieldValidator ID="rfvEmailSub"  runat="server" ErrorMessage="*" ControlToValidate="txtEmail" ValidationGroup="SubEmail" ></asp:RequiredFieldValidator>
                 <asp:RegularExpressionValidator ID="revEmailSub" runat="server" ErrorMessage="*" ControlToValidate="txtEmail" ValidationExpression="'w+([-+.']'w+)*@'w+([-.]'w+)*'.'w+([-.]'w+)*" ValidationGroup="SubEmail" ></asp:RegularExpressionValidator>
                 <span class="input-group-btn">
                    <asp:Button ID="btnSubscribe" CssClass="btn btn-maroon" runat="server" ValidationGroup="SubEmail" Text="Subscribe" onclick="btnSubscribe_Click" />
                </span>
            </asp:Panel> 
            <asp:Panel ID="pnlSubscribeMSG" CssClass="pnlSubscribeMSG" runat="server" >
                <asp:Label ID="lblSubscribeMSG" runat="server" Text="">
            </asp:Label>
        </asp:Panel>
    </ContentTemplate>
</asp:UpdatePanel>

我不知道代码出了什么问题。

:

在进一步的故障排除中,我注意到相同的代码可以在没有母版页的页面上进行验证。

不知道到底发生了什么

添加脚本管理器时验证失败

问题是由于script manager,因为它不能正确加载脚本文件,导致验证失败,花了几个小时后,我很幸运地找到了它。

所以不添加脚本管理器

<asp:ScriptManager runat="server"></asp:ScriptManager>

i add it as

<asp:ScriptManager runat="server">
    <Scripts>
        <asp:ScriptReference Name="jquery" />
        <asp:ScriptReference Name="WebForms.js" Assembly="System.Web" />
        <asp:ScriptReference Name="WebUIValidation.js" Assembly="System.Web" />
    </Scripts>
</asp:ScriptManager>

解决方案来源链接