我有asp.net
form
。在此form
中,我想清除我在textbox
,dropdownlist
等中输入的所有数据。那么,如果不转到每个文本框并设置值,我该怎么办呢。
如TextBox1.Text="";
等。如何清除表单的所有值?
答案 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 = "";
以及复选框等主题的变体。