C# 在运行时清除asp.net表单
使用c#在运行时清除asp.net表单的最简单方法是什么 谢谢C# 在运行时清除asp.net表单,c#,javascript,asp.net,C#,Javascript,Asp.net,使用c#在运行时清除asp.net表单的最简单方法是什么 谢谢 Sp我假设您想要清除输入框、下拉列表等。这可以通过以下方式在代码中递归清除所有数据 foreach( var control in this.Controls ) { ClearControl( control ); } 和递归函数 private void ClearControl( Control control ) { var textbox = control as TextBox; if (text
Sp我假设您想要清除输入框、下拉列表等。这可以通过以下方式在代码中递归清除所有数据
foreach( var control in this.Controls )
{
ClearControl( control );
}
和递归函数
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;
// handle any other control //
foreach( Control childControl in control.Controls )
{
ClearControl( childControl );
}
}
我使用了下面的JS/c来清除表单 c#添加js调用onload
Page.ClientScript.RegisterStartupScript(typeof(WebForm3), "ClearPage", "ClearForm();", true);
JS命令清除表单
function ClearForm() {
var AllControls = document.getElementById('ctl00_ContentPlaceHolder1_PnlAll')
var Inputs = AllControls.getElementsByTagName('input');
for (var y = 0; y < Inputs.length; y++) {
// define element type
type = Inputs[y].type
// alert before erasing form element
//alert('form='+x+' element='+y+' type='+type);
// switch on element type
switch (type) {
case "text":
case "textarea":
case "password":
//case "hidden":
Inputs[y].value = "";
break;
}
}
}
函数ClearForm(){
var AllControls=document.getElementById('ctl00\u contentplaceholder 1\u PnlAll'))
var Inputs=AllControls.getElementsByTagName('input');
对于(变量y=0;y
您所说的“运行时”是什么意思?这是否意味着用户在查看页面时?如果您说的是在客户端执行此操作,请使用form.reset()@Jeff Schumacher忘记了这一点。。。。另一个选项是在FORIM上放置一个重置按钮,试图清除服务器端的控件。一旦用户提交表单,我不想让他们再次看到数据-这就是为什么我想在服务器端重新设置它谢谢你的评论,伙计谢谢,我无法让它工作,因为我使用HTML控件,我将文本框切换到htmlinputtext,但仍然失败。我用了一些js来清除表单,谢谢你的帖子