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