我正在玩Visual Studio2012,我创建了一个空的ASP.Net Web应用程序,当我试图将传统的验证器控件添加到新页面时,发生了以下错误:
WebForms UnobtrusiveValidationMode需要'jquery‘的ScriptResourceMapping。请添加一个名为jquery的ScriptResourceMapping (区分大小写)。
修复它的步骤是什么?
这是我的页面标记:
<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>
发布于 2013-02-06 07:06:44
关于ValidationSettings:UnobtrusiveValidationMode值似乎有很多不正确的信息。要Disable it,您需要执行以下操作。
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
要禁用此功能,应使用单词None,而不是WebForms。
发布于 2012-09-17 11:30:01
这是official Microsoft answer from the MS Connect forums。我正在抄写下面的相关文本:
当以.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" />
发布于 2013-04-05 12:38:36
有关的更多信息
指定ASP.NET如何全局启用内置验证器控件,以便将不显眼的JavaScript用于客户端验证逻辑。
类型: UnobtrusiveValidationMode
默认值:无
备注:如果此键值设置为“None” default,则ASP.NET应用程序将使用4.5版本之前的行为(页面中的内联JavaScript)进行客户端验证逻辑。如果此键值设置为"WebForms",ASP.NET将使用HTML5数据属性和来自添加的脚本引用JavaScript的后期绑定进行客户端验证逻辑。
示例:
<appSettings>
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
</appSettings>
https://stackoverflow.com/questions/12452109
复制相似问题