◎以上程式範例AspNet01.aspx,如在頁框下不能操作,請開新視窗操作
◎如果有問題歡迎您提出,dnowba很需要有人和我一起討論
Partial Class AspNet01
Inherits System.Web.UI.Page
' ===== 本例是針對Textbox控制項作一個簡單的範例,另外還有大約了解一下網頁生命週期,以及事件引發順序 =====
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
' ===== Page_Load事件 =====
Response.Write("輸入數字,進行計算,結果會以「貨幣」格式出現")
Me.Label1.Text = "只要更動「加數」,就會自動計算,只更動「被加數」那就要按一下「開始計算」的按鈕"
Me.Button1.Text = "開始計算"
End Sub
Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
' ===== Page_PreInit事件,在網頁的生命週期中較Page_Load事件早,雖然「寫」在Page_Load()的下方, =====
' Page_PreInit()是一般建立或重新建立動態控制項的階段,
' 所以這裡「故意」把Textbox的屬性調整寫在Page_PreInit事件中
' 當然屬性的調整若不需動態的變化,其實可以直接使用Visual Studio的控制項屬性視窗來調整
Me.TextBox1.TextMode = TextBoxMode.SingleLine ' 單列文字類似傳統html表單的<input type="text">
Me.TextBox2.TextMode = TextBoxMode.Password ' 密碼文字,輸入會以「*」遮蔽以免被窺視
Me.TextBox3.TextMode = TextBoxMode.MultiLine ' 多列文字類似傳統html表單的<textarea>...</textarea>
Me.Label2.Text = ""
' AutoPostBack是所有控制項都具備的屬性,表示控制項內容只要被更動就會自動提交資料
Me.TextBox4.AutoPostBack = False
Me.TextBox5.AutoPostBack = True
' EnableViewState也是所有控制項所具有的屬性,表示當資料提交後是不是要清空所填寫的資料
Me.TextBox4.EnableViewState = True
Me.TextBox5.EnableViewState = True
End Sub
Protected Sub TextBox5_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox5.TextChanged
' ===== TextChanged 事件表示當Textbox內容改變時引發的事件 =====
' ===== 這個事件一定要和 AutoPostBack 屬性合用才會生效=====
' 因為ASP.NET已經轉變成物件導向的語言,所以要用「取得」該控制項的Text,就要寫成「Textbox控制項的ID名稱.Text」
' Textbox原來定義內容是string, Cint() 是強制轉換控制項成整數型態
Dim sum As Integer = CInt(Me.TextBox4.Text) + CInt(Me.TextBox5.Text)
' 將sum這個變數轉成貨幣格式,也可以寫成
' Me.Label2.Text = String.Format("{0:NT$ #,### ; -NT$ #,###}", sum)
Me.Label2.Text = String.Format("{0:C}", sum)
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
' ===== Click 事件表示當Button按下時引發的事件 =====
' Textbox原來定義內容是string, Cint() 是強制轉換控制項成整數型態
Dim sum As Integer = CInt(Me.TextBox4.Text) + CInt(Me.TextBox5.Text)
' 將sum這個變數轉成貨幣格式,也可以寫成
Me.Label2.Text = String.Format("{0:NT$ #,### ; -NT$ #,###}", sum)
' Me.Label2.Text = String.Format("{0:C}", sum)
End Sub
End Class
沒有留言:
張貼留言