ASP.Net, VB: очистка полей на веб-странице

Я разрабатываю веб-сайт с использованием ASP.Net и VB.

На одной из страниц есть определенные поля (TextBoxes и DropDownList). Пользователь должен заполнить эти поля и нажать кнопку «Отправить». Кроме того, есть кнопка «Очистить значения», при нажатии которой пользователь должен очистить поля на веб-странице.

Код, который я написал для очистки полей, был:

txtBox1.Text =  String.Empty

для всех TextBoxes. Но это не сработало, так как я использовал несколько валидаторов, таких как RequiredFieldValidator, RangeValidator, RegularExpressionValidator и т. д., для проверки полей. Итак, когда пользователь заполняет несколько полей, а затем нажимает кнопку «Очистить значения», чтобы очистить все поля, поля не очищаются. Вместо этого проверки работают, и сообщения об ошибках появляются в соответствии с этими проверками.

Я также попробовал следующий код, чтобы очистить все поля:

 Response.Redirect("UserData.aspx");

(где «UserData.aspx» — это только имя этой веб-страницы). Но все же он выдает те же сообщения об ошибках проверки.

Как справиться с этим?


person Vikram    schedule 31.03.2013    source источник
comment
Вы можете очистить с помощью javascript или сделать так, чтобы кнопка очистки не выполняла проверку. Или добавьте группу проверки ко всему, кроме кнопки очистки.   -  person MikeSmithDev    schedule 01.04.2013
comment
Спасибо за ответ. Не могли бы вы рассказать мне, как мне сделать, чтобы кнопка очистки не позволяла выполнять проверку? (Я новичок в ASP.Net и VB)   -  person Vikram    schedule 01.04.2013
comment
Для этой части ответа см. код скартага. Это один из простых способов, но также простой с использованием JavaScript, поэтому вы не выполняете обратную передачу.   -  person MikeSmithDev    schedule 01.04.2013


Ответы (2)


Кнопка «Очистить значения»

Вы должны установить его свойство CausesValidation = "false"

person scartag    schedule 31.03.2013

После того, как ваш пользователь нажмет кнопку «Отправить» или «Очистить», вы можете сделать что-то подобное в другом методе, а затем вызвать этот метод в обработчике событий вашей кнопки:

public void ClearAll()
{
    textbox1.Text = "";
    textbox2.Text = "";
    textbox3.Text = "";

}

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

person user2230191    schedule 31.03.2013