2011-03-22 83 views
3

我有一个包含大量asp.net文本框asp:TextBox的页面。我想要一个清除按钮,清除所有文本框中的文本。文本框都在他们自己的用户控件中。这怎么能做到?如何清除页面上的所有文本框

回答

3

您可以使用<input type="reset" />做到这一点..

Altenately你可以指定一个的CssClass每个文本框,并使用jQuery来清除它们。

+2

这是很好的清除文本框,但它只会清除值回发的最后的值...意思是如果用户在'TextBox中写入myvalue,然后单击提交按钮并发生回发,则用户再次写入'myanothervalue',然后单击重置按钮,然后它只会将文本框重置为'myvalue'不会清空它,并且它会重置整个表单不仅仅是TextBox ... – 2011-03-22 04:27:51

3

jQuery是您的朋友:当点击

$("#theButton").click(function() { 
    $("[type=text]").val(""); 
}); 
4
<input type='Reset' value='clear'/> 

将重置特定形式内的所有文本字段。

+0

在另一个答案中遇到@Harsh指出的问题。 – xanadont 2011-03-22 19:18:33

0

清除按钮事件使用这种

textBox1.Clear(); 

和一个标签,你可以使用这个

label1.Text = ""; 

就这么简单。

2
protected void btnClear_Click(object sender, EventArgs e) 
    { 
     ClearControls(); 

    } 
    private void ClearControls() 
    { 
     foreach (Control c in Page.Controls) 
     { 
      foreach (Control ctrl in c.Controls) 
      { 
       if (ctrl is TextBox) 
       { 
        ((TextBox)ctrl).Text = string.Empty; 
       } 
      } 
     } 
    } 
0

使用这种方法,我们可以清除存储在文本框中的文字,轻松

protected void Reset_Click(object sender, EventArgs e) 
{ 
    ClearInputs(Page.Controls); 
} 
void ClearInputs(ControlCollection ctrls) 
{ 
    foreach (Control ctrl in ctrls) 
    { 
     if (ctrl is TextBox) 
      ((TextBox)ctrl).Text = string.Empty; 
     ClearInputs(ctrl.Controls); 
    } 
}