У меня есть пользовательский класс (ServerSideValidator.vb), который проверяет ввод пользователя на стороне сервера (он не использует какой-либо из .NET встроенных валидаторов, поэтому Page.Validate() is не вариант для меня). Я вызываю метод Validate() на странице. Событие IsPostback и класс выполняются без каких-либо проблем.Как предотвратить обработчик событий PostBack от Firing
Моя проблема в том, когда проверка не завершена (возвращает false), я хочу остановить обработчик события обратной передачи, но загрузить страницу вместе со всеми элементами управления и пользовательскими значениями в них. Если я это сделаю, Response.End(), страница будет пуста. Я могу программно проинструктировать страницу перейти на предыдущую страницу (оригинальная форма до обратной передачи), но она теряет все пользовательские входы.
Я думал о создании глобальной логической переменной в коде страницы за файлом и проверять значение перед выполнением любого метода обратной передачи, но этот подход отменяет мой план по предоставлению всех функциональных возможностей внутри самого класса. Объект страницы ссылается на ServerSideValidator.
Кажется, что все связанные с обратной связью свойства/переменные, с которыми я сталкиваюсь внутри класса страницы, являются «Readonly», и я не могу назначить значения для предотвращения/предотвращения события postback при стрельбе.
Любые idiea о том, как я могу это сделать? Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.
Это сообщение на той же странице. например, у меня есть кнопка SAVE на странице Default.aspx. Когда пользователь нажимает на кнопку, на Page_Load Я кодирования если Page.IsPostBack Тогда Dim SSV As New ServerSideValidator() ssv.AddValidation (txtName, 'алфавитной') ssv.AddValidation (txtDescription, 'алфавитно-цифровой') Если не ssv.Validate() Затем '' Я ищу здесь блок кода, который будет обходить обработчик событий кнопки SAVE . Я до сих пор хочу, чтобы страница заканчивалась '' Загрузка и сохранение всех пользовательских входов Конец Если Конец Если – user331744
Это сообщение на той же странице. например, у меня есть кнопка SAVE на странице Default.aspx. Когда пользователь нажимает кнопку, на странице_Load я кодирую
Если страница.IsPostBack Then
Dim ssv As New ServerSideValidator()
ssv.AddValidation (txtName, 'alphabetic')
ssv.AddValidation (txtDescription, 'alphanumeric')
Если Not ssv.Validate() Then
'' Я ищу код блок, который будет обходить обработчик событий кнопки «SAVE»
. Я все еще хочу, чтобы страница заканчивалась
'' Загрузка и сохранение всех пользовательских входов
Конец Если
Конец Если – user331744
Когда я упомянул о возвращении на предыдущую страницу. Я просто сделал javascript history.go (-1). Таким образом, он загрузил default.aspx в качестве новой нагрузки (без ввода всех пользовательских входов) – user331744