Какой самый простой способ очистить форму asp.net во время выполнения с помощью С #.

Спасибо Sp

3
Steven 2 Июн 2010 в 20:19

2 ответа

Лучший ответ

Я использовал следующий JS / c # для очистки формы.

C # для добавления js-вызова onload

  Page.ClientScript.RegisterStartupScript(typeof(WebForm3), "ClearPage", "ClearForm();", true);

JS для очистки формы

function ClearForm() {
            var AllControls = document.getElementById('ctl00_ContentPlaceHolder1_PnlAll')
            var Inputs = AllControls.getElementsByTagName('input');
            for (var y = 0; y < Inputs.length; y++) {
                // define element type
                type = Inputs[y].type
                // alert before erasing form element
                //alert('form='+x+' element='+y+' type='+type);
                // switch on element type
                switch (type) {
                    case "text":
                    case "textarea":
                    case "password":
                        //case "hidden":
                        Inputs[y].value = "";
                        break;



                }
            }


        }
0
Steven 3 Июн 2010 в 08:20

Я предполагаю, что вы хотите очистить поля ввода, раскрывающиеся списки и т. Д. Это можно сделать в коде следующим образом, чтобы рекурсивно очистить все данные.

foreach( var control in this.Controls )
{
   ClearControl( control );
}

И рекурсивная функция

private void ClearControl( Control control )
{
    var textbox = control as TextBox;
    if (textbox != null)
        textbox.Text = string.Empty;

    var dropDownList = control as DropDownList;
    if (dropDownList != null)
        dropDownList.SelectedIndex = 0;

    // handle any other control //

    foreach( Control childControl in control.Controls )
    {
        ClearControl( childControl );
    }
}
1
Mikael Svenson 2 Июн 2010 в 17:23