Проверки все еще стреляют в ASP.NET, даже если средства управления скрыты?

У меня есть форма, которая использует проверки ASP.NET. Я использую, некоторые встраивают C# в aspx для показывания/скрытия определенных средств управления в зависимости от роли пользователя. Я использовал бы Свойство видимости, но существуют столь многие из них, я просто решил сделать встроенный C#, чтобы показать и скрыться (я знаю, не лучшая практика, но терплю меня в течение секунды). У меня есть проблема где Page. IsValid всегда устанавливается на Ложь, когда я отправляю свою форму (когда определенные поля скрыты). Проверки все еще исчерпают, даже если средства управления даже не будут представлены на Паге? Кроме того, если дело обстоит не так, там эффективный способ сломать Page. IsValid для обнаружения, что устанавливает его на Ложь?Спасибо.

5
задан Josh 2 June 2010 в 23:10
поделиться

2 ответа

Если вы установите для параметра Visible значение false, проверка для этого элемента управления будет , а не . Из Подробная проверка ASP.Net :

Почему бы просто не использовать Visible = false, чтобы иметь невидимый валидатор? В ASP.NET Видимое свойство элемента управления имеет очень сильное значение: контроль с Visible = false не будет обрабатываться в все для предварительного рендеринга или рендеринга. В качестве в результате этого более сильного значения, Visible = false для валидатора означает что не только не отображает ничего, это не работает или. Не оценивается, не влияет на срок действия страницы и не ставит ошибки в резюме.

Если вы хотите, чтобы элемент управления проверялся, но был скрыт на странице, используйте CSS, чтобы установить для отображения значение none.

12
ответ дан 18 December 2019 в 13:11
поделиться

Валидаторы все равно будут срабатывать, их тоже нужно скрыть

1
ответ дан 18 December 2019 в 13:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: