[ASP.NET]一次清除頁面上所有TextBox的值

一次清除頁面上所有TextBox的值

常常頁面上有很多表單要填,而設計者總是貼心的為使用者設計一個"全部重填"按鈕,當然在HTML裡可以放一個<input type="reset" />就可以搞定!!

不過在ASP.NET裡我們必須將表單內容轉為控制項,那這樣豈不變成在後制中強迫將它賦值? 如  Button_Click事件下  :

Me.TextBox1.text =  "" 

這樣雖然有用,但總覺得有點不切實際吧!?  或是狠一點直接把該頁PostBack一下,當然也行得通....(筆者時常牛起來就這樣搞XD)

今天來介紹一個看起來漂亮一點的做法吧 , 簡單的說就是將畫面中的控制項都抓起來一起清空!!

首先要在ASPX裡放個Panel包起表單讓我們好抓取裡面的控制項,當然你用Table也可,後制如下 : 


Protected Sub Button_reset_Click(sender As Object, e As EventArgs)
  '先跑迴圈 ,Panel1是包在表單外的    
   For i As Integer = 0 To Panel1.Controls.Count - 1
            If Panel1.Controls(i).GetType.ToString = "System.Web.UI.WebControls.TextBox" Then
                Dim obj As TextBox = CType(Panel2.Controls(i), TextBox)
                obj.Text = Nothing
            End If
        Next
    End Sub

 

 

打完收工!!趕個流行..這招就叫  "LinClean"吧  smiley

 

※   2012/2/21補充:       91大回應說到為何不能用Reset..小弟沒有說明到javascript的方法,實屬抱歉..在此補上--
使用 <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="reset()" />  也可以清空欄位喔 !!!  ※

 

 

分享


站作網站設計工作室 SiteMak Studio
Shinyo Ho 
Founder / Developer
email:shinyo.her@gmail.com|web:www.sitemak.com.tw