Today while working on an ASP.NET web application in VS Express 2012 for Web, I got a strange error like this.
Error : WebForms UnobtrusiveValidationMode requires a ScriptResourceMapping for ‘jquery’. Please add a ScriptResourceMapping named jquery (case-sensitive).
It was strange because I just added some basic components like
TextBox,
RequiredfieldValidator, and validation summary controls only. Later I found a
Microsoft Connect issue. And according to the Connect website, we can fix this by removing the following element from the
web.config file.
Collapse | Copy Code
<add key="ValidationSettings:UnobtrusiveValidationMode"
value="WebForms" />
But I couldn’t find this element in my
web.config file. Another option to fix this issue is registering jQuery in
Global.asax in the
Application_Start event like this:
Collapse | Copy Code
ScriptManager.ScriptResourceMapping.AddDefinition("jquery",
new ScriptResourceDefinition
{
Path = "~/scripts/jquery-1.7.2.min.js",
DebugPath = "~/scripts/jquery-1.7.2.min.js",
CdnPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.1.min.js",
CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.1.js"
});
And it worked without any issue. Adding the following element in
web.config also works.
Collapse | Copy Code
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
You can find more about Unobtrusive JavaScript on
Wikipedia.
Happy programming
No comments:
Post a Comment