Ошибки в разработке веб-приложений – это обычное дело, и одной из таких ошибок является «WebForms UnobtrusiveValidationMode requires a ScriptResourceMapping for ‘jquery'». Она обычно возникает, когда разработчик пытается добавить функциональность подсчета символов в поле ввода (текстовое поле) на веб-странице с использованием JavaScript и HTML.
Давайте приведем пример кода, который может вызвать такую ошибку:
<script type="text/javascript" src="js/JScript.js"></script>
<asp:TextBox ID="textBox" runat="server" TextMode="MultiLine" MaxLength="500" onkeyup="return validateLimit(this, 'message', 500)"></asp:TextBox>
<div id="message">500 characters left</div>
В этом коде используется JavaScript для подсчета оставшихся символов в asp:TextBox
. Ошибка «WebForms UnobtrusiveValidationMode requires a ScriptResourceMapping for ‘jquery'» возникает, когда система не может найти необходимый ресурс для ‘jquery’.
Чтобы исправить эту ошибку, необходимо добавить ссылку на jQuery в проект. Это можно сделать, добавив следующую строку в файл Web.config
:
<appSettings> <add key="ValidationSettings:UnobtrusiveValidationMode" value="None"/> </appSettings>
Это отключит UnobtrusiveValidationMode, который по умолчанию включен в ASP.NET 4.5 и старается использовать jQuery для ненавязчивого кода проверки.
Если же в проекте используется jQuery, то можно добавить ресурсное отображение для ‘jquery’ в Global.asax
, как показано ниже:
void Application_Start(object sender, EventArgs e) { 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 указывается в Path
и DebugPath
. CdnPath
и CdnDebugPath
указывают путь к CDN, который будет использоваться, если локальный файл jQuery отсутствует.
Таким образом, чтобы избежать ошибки «WebForms UnobtrusiveValidationMode requires a ScriptResourceMapping for ‘jquery'», нужно либо отключить UnobtrusiveValidationMode, либо добавить ресурсное отображение для ‘jquery’.
Добавить комментарий