是否有简单的方法来重置表单中的所有字段?清除ASP.net表格中的所有字段
我在asp.net窗体中有大约100个控件,并且有提交和重置按钮。
当用户点击重置按钮时,如何使字段中的所有值为空?
我有很多下拉框,文本框,复选框。
是否有简单的方法来重置表单中的所有字段?清除ASP.net表格中的所有字段
我在asp.net窗体中有大约100个控件,并且有提交和重置按钮。
当用户点击重置按钮时,如何使字段中的所有值为空?
我有很多下拉框,文本框,复选框。
遍历所有页面上的控件,如果控件是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);
}
}
}
}
然后调用它在点击事件是这样的:
ClearTextBoxes(Page);
尝试添加:
<input type="reset" value="Clear" />
到表单中。
到目前为止,我知道会将表单字段初始化为初始状态。如果texbox的初始状态是“HELLO”,它将重置为该值。我不认为这是用户需要的。 – 2010-09-25 14:16:54
这对取消按钮的服务器端处理程序添加:
Response.Redirect("~/mypage.aspx", false);
这将失去所有视图状态数据,这可能不合意。 – Tomasi 2010-09-26 04:09:30
如果我们清除所有的字段,我们显然不需要首先保留ViewState ...我们只是重新加载页面,这是做这件事最简单的方法。他指定所有字段都被清除:-) – IrishChieftain 2010-09-26 04:45:01
请问为什么你用第二个参数'true'调用重定向?你不愿意使用'false'来防止'AbortThreadException'吗? ([相关链接](https://blogs.msdn.microsoft.com/tmarq/2009/06/25/correct-use-of-system-web-httpresponse-redirect/)。) – 2018-02-02 10:55:08
可以使使用OnClientClick
事件。这将重置表单上的所有控件。 OnClientClick="this.form.reset();return false;"
见代码:
<asp:Button ID="Reset_Button" runat="server" Text="Reset"
Width="81px" OnClientClick="this.form.reset();return false;" />
如果您正在使用asp.net FormView的对象,只是在你的复位按钮点击事件中使用myFormView.DataBind();
。
从我身边最好的办法是
Response.Redirect(Request.RawUrl);
刚上你的asp.net控制的取消或重新设置按钮添加该代码。
或者如果您正在使用Angular。
这对您的按钮添加CSHTML页:
<input type="button" value="Cancel" id="cancel" ng-click="cancel();" />
这对您的.js文件:
$scope.cancel = function() {
if (!$('form').dirtyForms('isDirty')) {
$('form').dirtyForms('setClean');
}
else {
$('form').dirtyForms('isDirty', true);
}
var that = this;
var method = that.getUrl('CONTROLLER', 'ACTION', 'id', 'querystring');
window.location = method;
检查这里http://stackoverflow.com/questions/680241/blank -out-a-form-with-jquery – 2010-09-25 14:18:50
@Claudio,OP询问如何在ASP.NET应用程序中重置表单的所有字段。没有提到关于jQuery和投票关闭这个答案,因为一个确切的重复似乎是错误的我。 – 2010-09-25 14:32:03
@Darin Dimitrov:也许你是对的。假设每个人都在使用/愿意使用jquery(即使是现在)也可能太过于自命不凡。对不起,但我不能恢复我的投票,我知道。顺便说一句:我仍然认为输入类型重置可能会导致混淆。 – 2010-09-25 14:54:06