2011-03-22 81 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); 
    } 
}