общий способ очистить в asp.net? - PullRequest
3 голосов
/ 22 декабря 2010

Я использую главную страницу со страницами контента. Я хочу написать метод genral для очистки текстовых полей, а для выпадающего списка установить индекс на 0. Пожалуйста, укажите это.

Ответы [ 2 ]

4 голосов
/ 22 декабря 2010

Подход на стороне сервера

Если вы хотите очистить TextBoxes и DropDownLists при обратной передаче, вы можете пройтись по коллекции Controls страницы и для каждого элемента управления посмотреть, является ли это TextBox или DropDownList. Вот такая функция в C #:

void ClearInputs(ControlCollection ctrls)
{
    foreach (Control ctrl in ctrls)
    {
        if (ctrl is TextBox)
            ((TextBox)ctrl).Text = string.Empty;
        else if (ctrl is DropDownList)
            ((DropDownList)ctrl).ClearSelection();

        ClearInputs(ctrl.Controls);
    }
}

Чтобы использовать это, вы должны позвонить ClearInputs и передать контрольную коллекцию, которую хотите найти. Чтобы очистить все TextBoxes и DropDownLists на странице, которую вы будете использовать:

ClearInputs(Page.Controls);

Подход на стороне клиента

Альтернативной тактикой было бы использование подхода на стороне клиента. А именно, используйте JavaScript, чтобы проходить через DOM и очищать / сбрасывать текстовые поля и выпадающие списки на этой странице. Следующий JavaScript использует библиотеку jQuery для упрощения вещей:

function clearElements() {
    $("input[type=text]").val('');
    $("select").attr('selectedIndex', 0); 
}

В двух словах, он устанавливает value всех <input type="text" ... /> элементов на странице в пустую строку и устанавливает атрибут selectedIndex всех <select> элементов на странице равным 0. Я создал скрипт на JSFiddle.net, чтобы вы могли опробовать скрипт: http://jsfiddle.net/xs6G9/

Для получения дополнительной информации

Я написал запись в блоге на эту тему с дополнительной информацией и обсуждением. См .: Сброс значений полей формы в ASP.NET WebForm .

Счастливого программирования!

0 голосов
/ 23 декабря 2010

<input type="reset"> - это простое решение на стороне клиента.

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