gpt4 book ai didi

asp.net - 如何从代码隐藏中清除所有表单字段?

转载 作者:行者123 更新时间:2023-12-04 16:21:46 24 4
gpt4 key购买 nike

HTML 有一种输入按钮类型,可以一步将表单中的所有字段重置为其初始状态:<input type="reset" ... /> .

是否有类似的简单方法可以从代码隐藏重置 aspx 页面的所有表单字段?还是需要用TextBox1.Text=string.Empty一一重置所有控件, TextBox2.Text=string.Empty , 等等。 ?

提前致谢!

更新:

上下文是一个简单的联系人/“向我们发送消息”页面,页面上有 8 个 asp:TextBoxes(用户在其中输入姓名、地址、电话、电子邮件、消息等)。然后他点击提交,代码隐藏中的 Onclick 消息处理程序向某个管理员发送一封电子邮件,用户填写的所有表单字段都应该被清空,并且他会在标签中收到通知(“消息已发送 blabla...” )。我希望清除表单字段以避免用户再次单击提交并再次发送相同的消息。

最佳答案

您只需要为每种类型的控件编写一个分支,除非其中一个控件有一些特殊的事情需要执行以重置它。

foreach( var control in this.Controls )
{
var textbox = control as TextBox;
if (textbox != null)
textbox.Text = string.Empty;

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

附加 你问如何清除控件,即使是那些被掩埋的控件。为此,您应该创建一个递归例程,如下所示:
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;
...

foreach( Control childControl in control.Controls )
{
ClearControl( childControl );
}
}

因此,您可以通过传递页面来调用它:
ClearControls( this );

关于asp.net - 如何从代码隐藏中清除所有表单字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2613778/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com