ASP.Net 2012使用jQuery进行不显眼的验证

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (70)

我在玩VisualStudio 2012,我创建了一个空ASP.NETWeb应用程序,当我试图添加传统验证器控件对于新页,会发生以下错误:

WebForms UNbtrusiveValidationMode需要为‘jQuery’进行ScriptResourceMapping。请添加一个名为jQuery的ScriptResourcemap(区分大小写)。

修复它的步骤是什么?

这是我的页面标记:

<asp:Panel runat="server" ID="pnlUsername" GroupingText="Username settings">
    <div>
        <asp:Label ID="usernameLabel" Text="Please enter your username" runat="server" AssociatedControlID="username" />
    </div>
    <div>
        <asp:TextBox runat="server" ID="username" />
        <asp:RequiredFieldValidator ErrorMessage="The username is required" ControlToValidate="username" runat="server" Text=" - Required" />
    </div>
</asp:Panel>
提问于
用户回答回答于

当目标为.NET 4.5时,默认情况下启用了不引人注目的验证。你需要在项目中使用jQuery,并且在Global.asax中有类似的东西来正确注册jQuery:

ScriptManager.ScriptResourceMapping.AddDefinition("jquery", 
    new ScriptResourceDefinition {
        Path = "~/scripts/jquery-1.4.1.min.js",
        DebugPath = "~/scripts/jquery-1.4.1.js",
        CdnPath = "http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.1.min.js",
        CdnDebugPath = "http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.1.js"
    });

用正在使用的版本替换jQuery的版本。

还可以在web.config中删除以下行,从而禁用此新功能:

<add key="ValidationSettings:UnobtrusiveValidationMode" value="WebForms" />
用户回答回答于

似乎有许多关于ValidationSettings:UNbtrusiveValidationMode值的错误信息。到禁用你需要做以下的事情。

<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />

应该使用“None”这个词,而不是“WebForms”来禁用此功能。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励