摘要:[ASP.net]一次大量清空textbox的方法
方式1:
1、先建立方法:
private void ClearControls(params Control[] controls)
{
foreach (Control control in controls)
{
if (control is TextBox)
{
(control as TextBox).Text = "";
}
else if (control is Label)
{
(control as Label).Text = "";
}
else if (control is HiddenField)
{
(control as HiddenField).Value = "";
}
}
}
2、在button事件中:
protected void Button1_Click(object sender, EventArgs e)
{
ClearControls(TextBox1, TextBox2, Label1);
}
用Panel或UpdatePanel包起來這些textbox:
PS: 若你有用ASP.net的AJAX的話,就會自動產生UpdatePanel,
不用另外再建一個Panel。
方式2: (用Panel或UpdatePanel包住)
protected void Button1_Click(object sender, EventArgs e)
{
foreach (Control c in this.FindControl("UpdatePanel1").Controls)
{
if (c is TextBox)
{
((TextBox)c).Text = "";
}
}
}
方式3: (用Panel或UpdatePanel包住)
1、
先建立方法:
private void cleartb()
{
foreach (Control item in UpdatePanel1.Controls)
{
if (item is System.Web.UI.WebControls.TextBox)
{
((TextBox)item).Text = string.Empty;
}
}
}
2、在button事件中:
protected void Button1_Click(object sender, EventArgs e)
{
cleartb();
}
方式4: (用Panel或UpdatePanel包住)
在button事件中:
protected void Button1_Click(object sender, EventArgs e)
{
foreach (Control c in this.FindControl("UpdatePanel1").Controls)
{
if (c is TextBox)
{
((TextBox)c).Text = "";
}
}
}
方式5: (用Panel或UpdatePanel包住)
(此法採用LINQ語法,只針對被AJAX包住時有用)
在button事件中:
protected void Button1_Click(object sender, EventArgs e)
{
foreach (TextBox TB in UpdatePanel1.Controls[0].Controls.OfType())
{
if(TB.Text != null)
TB.Text = "";
}
}
方式6: (用UpdatePanel包住) (此方法我測失敗,尚在研究中…)
在button事件中:
protected void Button1_Click(object sender, EventArgs e)
{
((TextBox)this.UpdatePanel1.ContentTemplateContainer.FindControl("txtBSTimeLimitName")).Text = "";
}
方式7:用javascript
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="reset()" />
註: 若你有用ASP.net的AJAX的話,請採用被UpdatePanel包起來這些textbox的方式
才有效。
--
強烈建議購物網店或實體店家都必須使用關鍵字廣告or原生廣告來 將Yahoo上與聯播網的廣大流量導至自己的網站!
●Yahoo關鍵字廣告/原生廣告
◆Yahoo廣告方案介紹 : https://goo.gl/5k8FHW
◆Yahoo廣告剖析與運用 : http://goo.gl/4xjUJD