在运行时清除asp.net表单

时间:2010-06-02 16:19:41

标签: c# javascript asp.net

什么是使用c#在运行时清除asp.net表单的最简单方法。

由于 属

2 个答案:

答案 0 :(得分:1)

我假设您要清除输入框,下拉列表等。可以通过以下方式在代码中以递归方式清除所有数据。

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 :(得分:0)

我使用以下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;



                }
            }


        }