Asp.net jscript Ошибка: невозможно получить значение свойства "неопределенной или нулевой ссылки"

Просто начинайте учиться и сталкиваетесь с этой проблемой во время практики с помощью jscript

Код:

показывая ошибку после нажатия кнопки ":

"... Ошибка: невозможно получить значение свойства" неопределенной или нулевой ссылки... "

Я не уверен, как передаются параметры, не совсем знакомы с тем, как работает функция jscript

пробовал это и никаких ошибок:

var intValue = document.getElementById("TextBox1").value;
alert(intValue);

Большое спасибо..

4 ответа

Не пропустите this. Вы ничего не хотите передавать, вы просто хотите дать ему имя своей функции, а остальное будет обработано для вас:

ClientValidationFunction="MyClientFunction"

См. Пример на этой странице.

Также убедитесь, что вы используете правильную капитализацию. Это должны быть arguments.Value и arguments.IsValid. arguments.IsValid.


у вас есть несколько вопросов. здесь фиксированная версия

список вещей, измененных

  • добавьте свойство ControlToValidate в валидатор, установите значение для идентификатора элемента управления, который вы хотите его проверить, - TextBox1 в этом случае

  • значение для ClientValidationFunction должно быть только именем функции javascript, а не фактическим вызовом к нему

  • функция принимает два аргумента, которые у вас есть. Я не смог найти определение свойств параметра. второй параметр имеет Value (с капиталом V), которое теперь является текстовым полем, когда вы правильно связали элементы управления.

  • установить IsValid true или false в методе

  • переместите сообщения об ошибках в атрибут validator вместо использования предупреждения

Кроме того, я изменил arguments на args поскольку первое имя по умолчанию в javascript.


Причина в том, что JavaScript - это язык, чувствительный к регистру. Следующий код должен работать:

Объяснение состоит в том, что аргументы - это объект параметра, который имеет два свойства, как вы знаете (Value и IsValid), и вы ссылаетесь на свойство "Значение" с нижним регистром "v".

Также вам нужно добавить свойство ControlToValidate в свой CustomValidator:

ControlToValidate="TextBox1"

общедоступное свойство ClientValidationFunction для CustomValidator просто ожидает действительную полную ссылку на вашу функцию в вашем случае, вы можете использовать только "MyClientFunction" без вызова функции "();" , Кроме того, все валидаторы ASP.net имеют общедоступное свойство ValidationGroup, которое является ярлыком очень удобно, если у вас несколько областей проверки.


Вы не передаете какие-либо параметры при вызове своей клиентской функции. Поэтому оба его объявленных параметра не undefined.

Вероятно, вы захотите передать this как параметр, когда вы вызываете его в обработчике inline.

licensed under cc by-sa 3.0 with attribution.