Я создаю веб-приложение с использованием Visual Studio 2012. Я пытаюсь добавить количество слов в мое текстовое поле. Однако после добавления кодов JavaScript и HTML-кодов. Я получаю ошибку, как указано выше.
Вот мой код JavaScript
Код:
function validateLimit(obj, divID, maxchar) {
objDiv = get_object(divID);
if (this.id) obj = this;
var remaningChar = maxchar - trimEnter(obj.value).length;
if (objDiv.id) {
objDiv.innerHTML = remaningChar + " characters left";
}
if (remaningChar <= 0) {
obj.value = obj.value.substring(maxchar, 0);
if (objDiv.id) {
objDiv.innerHTML = "0 characters left";
}
return false;
}
else
{ return true; }
}
function get_object(id) {
var object = null;
if (document.layers) {
object = document.layers[id];
} else if (document.all) {
object = document.all[id];
} else if (document.getElementById) {
object = document.getElementById(id);
}
return object;
}
function trimEnter(dataStr) {
return dataStr.replace(/(\r\n|\r|\n)/g, "");
}
Коды сервера на главной странице
<script type="text/javascript" src="js/JScript.js" ></script>
ASPX коды, (Html коды)
<tr>
<th style="width: 595px; height: 135px;">Official Report :</th>
<td colspan="4" style="height: 135px">
<asp:TextBox ID="tbofficial" runat="server" Height="121px" TextMode="MultiLine" Width="878px" MaxLength="500" ToolTip="Summary:(500 characters)" onkeyup="return validateLimit(this, 'lblMsg1', 500)" ></asp:TextBox>
<div id="lblMsg1">500 characters left</div>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="tbofficial" Display="Dynamic"
SetFocusOnError="True">*</asp:RequiredFieldValidator>
<br />
<asp:Label ID="lblmsg" runat="server"></asp:Label>
<br />
<br />
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
<asp:Button ID="btnClear" runat="server" Text="Clear" OnClick="btnClear_Click" />
</td>
</tr>
источник
targetFramework="4.5"
. Я должен был явно добавить этот параметр в мой web.config, чтобы он работал.Вместо того, чтобы отключить новую функцию, я решил следовать инструкциям по ошибке. В моем global.asax.cs я добавил:
Это происходит из сообщения в блоге msdn, в котором освещаются некоторые преимущества сопоставления ресурсов сценариев. Особый интерес для меня был централизованный контроль над доставкой файлов сценариев на основе «debug = true», EnableCDN и т. Д.
источник
<script type='text/javascript'> //<![CDATA[ $(document).ready(function () { $("#menu").menu(); }) //]] </script>
. Это правильный подход?Существует как минимум три способа отключить использование ненавязчивого JavaScript для проверки на стороне клиента:
System.Web.UI.ValidationSettings.UnobtrusiveValidationMode
статического свойства равнымSystem.Web.UI.UnobtrusiveValidationMode.None
System.Web.UI.Page.UnobtrusiveValidationMode
свойства экземпляра равнымSystem.Web.UI.UnobtrusiveValidationMode.None
Чтобы отключить функциональность для каждой страницы, я предпочитаю устанавливать
Page.UnobtrusiveValidationMode
свойство с помощью директивы page:источник
Ненавязчивая проверка по умолчанию включена в новой версии ASP.NET. Ненавязчивая проверка направлена на уменьшение размера страницы путем замены встроенного JavaScript для выполнения проверки на небольшую библиотеку JavaScript, которая использует jQuery.
Вы можете отключить его, отредактировав web.config и включив в него следующее:
Или, что еще лучше, правильно настройте его, изменив метод Application_Start в global.asax:
Страница 399 из Начиная с ASP.NET 4.5.1 в C # и VB рассказывает о преимуществах ненавязчивой проверки и пошаговом руководстве по ее настройке.
Для тех, кто ищет RouteConfig. Он добавляется автоматически при создании нового проекта в Visual Studio в папку App_Code. Содержимое выглядит примерно так:
источник
добавить еще немного к ответу от b_levitt ... на global.asax:
на вашем default.aspx
источник
Я считаю, что столкнулся с тем же затруднением. Я начал сталкиваться с проблемой, когда я изменился на:
Что дает сообщение об ошибке, которое вы описали выше.
добавив:
Решает проблему, но затем она заставляет ваши элементы управления / сценарии проверки выдавать ошибки времени выполнения Javascript. Если вы измените на:
Вы должны быть в порядке, но вы должны убедиться, что остальная часть вашего кода работает / ведет себя так, как нужно. Возможно, вам также придется отказаться от некоторых новых функций, доступных только в версии 4.5.
PS Настоятельно рекомендуется прочитать следующее перед внедрением этого решения. Особенно, если вы используете функциональность Async:
https://blogs.msdn.microsoft.com/webdev/2012/11/19/all-about-httpruntime-targetframework/
ОБНОВЛЕНИЕ Апрель 2017: После некоторого эксперимента и тестирования я придумал комбинацию, которая работает:
с участием:
источник
Проблема возникла из-за валидатора Control. Просто добавьте ссылку на J-запрос на свою веб-страницу следующим образом, а затем добавьте параметры проверки в файл web.config, чтобы устранить эту проблему. Я тоже столкнулся с той же проблемой, и нижеприведенное дало решение моей проблемы.
Шаг 1:
Шаг 2 :
Это решит вашу проблему.
источник
У него есть 3 решения, о которых другие ребята рассказали выше ... но когда попробуете решение Application_Start, моя другая библиотека jQuery, такая как Pickup_Date_and_Time, не работает ... поэтому я тестирую второй способ, и мне отвечают: 1 - установите Target FrameWork в Pre 4.5 2 - Используйте "UnobtrusiveValidationMode =" None "" в заголовке вашей страницы =>
это работает для меня и не нарушает мою другую функцию jQuery.
источник