Мое предыдущее впечатление о RequiredFieldValidator и тому подобное заключалось в том, что они отображают метку ошибки и устанавливают значение Page.IsValid false, и это все. Это означает, что они оставят остальную часть задачи (предотвращая использование неправильных входных данных). Но сегодня я понял, что если вы используете DetailView для вставки новой записи в базу данных, и вы используете валидаторы для проверки текстовых полей внутри DetailsView, они автоматически предотвращают обновление базы данных.Как RequiredFieldValidator автоматически останавливает обновление базы данных?
Я хотел бы знать, как это реализовано за сценой. Я предполагаю, что это прервало жизненный цикл страницы в событии Validator.PreRender, чтобы соединения с базой данных на более позднем этапе не могли быть достигнуты? Возможно, я ошибаюсь.
Я пытаюсь использовать рефлектор, чтобы попасть внутрь RequiredFieldValidator, чтобы увидеть, как он реализован, но я действительно не знаю, где искать. Может кто-нибудь дать некоторые намеки?
Привет, я отключил JavaScript в своем браузере, и проверка на стороне сервера отвечала за автоматическое предотвращение обновления базы данных. – Aperture
В этом случае у вас должно быть свойство DataView.EnableModelValidation равным True. Если вы установите значение False, проверка должна прекратить работу. – Faheem
Привет, я отключил EnableModelValidation, и база данных по-прежнему не обновлялась, что означает, что EnableModelValidation не несет за это ответственности. – Aperture