清除asp.net表单中的所有字段

时间:2011-02-02 08:49:04

标签: c# asp.net

我有asp.net form。在此form中,我想清除我在textboxdropdownlist等中输入的所有数据。那么,如果不转到每个文本框并设置值,我该怎么办呢。

TextBox1.Text="";等。如何清除表单的所有值?

3 个答案:

答案 0 :(得分:20)

要么

使用此功能

private 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(Page.Controls);

重定向到同一页面

Response.Redirect(Request.Url.PathAndQuery, true);

答案 1 :(得分:5)

您可以在客户端使用重置按钮:

<input type="reset" />

另一种方法是重定向到当前网址:

Page.Response.Redirect(Page.Request.Url.RawUrl)

此技术会将用户重定向到当前页面,就好像他刚刚到达。 但是,只有在您的页面没有构建一些回发时才会出现这种情况(因为视图状态将被重置)。

至少,你可以“走”整个控制树并清除你选择的控件的值,例如根据控件的类型。

答案 2 :(得分:0)

您可以使用页面的Controls属性和子控件递归控制树。对于每个控件,您可以使用

之类的代码重置它
if (ctl is ITextControl)
    ((ITextControl)ctl).Text = "";

以及复选框等主题的变体。