[ASP.net](note)一次大量清空Textbox的方法

摘要:[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

 

​​