Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
7 профессий по цене одной
07:05:47:06
дн. ч. мин. сек.
10 Июл 2023
2 мин
105

Решение ошибки «WebForms UnobtrusiveValidationMode requires a ScriptResourceMapping for ‘jquery'»

Ошибки в разработке веб-приложений – это обычное дело, и одной из таких ошибок является «WebForms UnobtrusiveValidationMode requires a ScriptResourceMapping for ‘jquery’». Она

Ошибки в разработке веб-приложений – это обычное дело, и одной из таких ошибок является «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:

&lt;appSettings&gt;
    &lt;add key="ValidationSettings:UnobtrusiveValidationMode" value="None"/&gt;
&lt;/appSettings&gt;

Это отключит 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’.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий