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

aca*_*dia 19 asp.net

是否有一种简单的方法可以重置表单中的所有字段?

我的asp.net表格中有大约100个控件,还有提交和重置按钮.

当用户点击重置按钮时,如何将字段中的所有值设为null?

我有很多下拉框,文本框,复选框.

Iri*_*ain 19

将其添加到取消按钮的服务器端处理程序:

Response.Redirect("~/mypage.aspx", false);
Run Code Online (Sandbox Code Playgroud)

  • 如果我们清除所有字段,我们显然不需要首先保留ViewState ...我们只是重新加载页面,这是最简单的方法.他指出所有领域都被清除:-) (6认同)

The*_*eed 14

遍历页面上的所有控件,如果控件是TextBox类型,则将Text属性设置为String.Empty

protected void ClearTextBoxes(Control p1)
{
    foreach (Control ctrl in p1.Controls)
    {
        if(ctrl is TextBox)
        {
             TextBox t = ctrl as TextBox;

             if(t != null)
             {
                  t.Text = String.Empty;
             }
        }
        else
       {
           if (ctrl.Controls.Count > 0)
           {
               ClearTextBoxes(ctrl);
           }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在你的点击事件中调用它,如下所示:

 ClearTextBoxes(Page);
Run Code Online (Sandbox Code Playgroud)


Nig*_*ght 10

你可以利用OnClientClick活动.这将重置表单上的所有控件. OnClientClick="this.form.reset();return false;"

见代码:

<asp:Button ID="Reset_Button" runat="server" Text="Reset" 
    Width="81px" OnClientClick="this.form.reset();return false;" />
Run Code Online (Sandbox Code Playgroud)


Dar*_*rov 8

尝试添加:

<input type="reset" value="Clear" />
Run Code Online (Sandbox Code Playgroud)

到你的形式.

  • 到目前为止,我知道将表单字段初始化为初始状态.如果texbox的初始状态为"HELLO",它将重置为该值.我不认为这是用户需要的. (4认同)

Sum*_*Roy 5

我这边最好的选择是

Response.Redirect(Request.RawUrl);
Run Code Online (Sandbox Code Playgroud)

只需将此代码添加到asp.net控件的“取消”或“重置”按钮上即可。