Серверные события не запускаются в первый раз, когда запускается валидатор asp - PullRequest
0 голосов
/ 21 апреля 2011

В нашем приложении есть группа настроек, включающая флажок, текстовое поле и валидатор asp. Чтобы изменить один из параметров, необходимо сначала включить текстовое поле с помощью флажка. Если проверка не пройдена, то через валидатор появляется сообщение, сообщающее пользователю, какие значения являются действительными. Как только это происходит, и я пытаюсь снять флажок (это действие должно снова отключить текстовое поле и восстановить предыдущее значение текстового поля), ничего не происходит, и текстовое поле остается тем же. Я должен установить и снять флажок еще раз, прежде чем событие CheckedChanged будет наконец запущено.

Может быть важно отметить, что они есть в UpdatePanels и в какой-то момент они работали внутри панелей. Мы в растерянности и будем признательны за некоторые идеи, если у кого-нибудь есть такие.

Ответы [ 2 ]

1 голос
/ 19 июля 2011

Я столкнулся с той же проблемой.В моем случае это было связано с панелью обновления.У меня была панель обновлений с парой флажков.Основываясь на настройке одного из этих флажков, валидаторы нужно было включить / отключить, но валидаторы были расположены в другом элементе управления за пределами панели обновления.

Что происходит, если вы установите / снимите флажок, ajax-postbackуволена.Из-за этого проверка на стороне клиента не восстанавливается правильно.Поэтому, когда вы отправляете страницу, проверка на стороне клиента не найдена, и вместо этого запускается проверка на стороне сервера.Поскольку ваша страница прошла полную обратную передачу, проверка на стороне клиента снова связана.Когда вы снова нажмете кнопку отправки, вы обнаружите, что они будут работать.

Самое простое решение - поместить элементы управления с клиентскими валидаторами на панели обновления в.

0 голосов
/ 21 апреля 2011

Добавление кода, по крайней мере, aspx, помогло бы выявить проблему.

Без какого-либо кода, я бы предпочел установить свойство CheckBox CausesValidation на "false", что позволитотправить обратно, даже если есть ошибка проверки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...