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).
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 TextBoxRequiredfieldValidator, 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.
<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 inGlobal.asax in the Application_Start event like this:
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.
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
You can find more about Unobtrusive JavaScript on Wikipedia.
Happy programming