Ch06 建立WEB表單 網頁程式設計
大綱 本章內容包含課本6-1, 6-2及第7章 Web表單 Web控制項的基礎 資料輸入輸出控制項 選擇控制項 清單控制項 按鈕控制項
網頁表單的用途 ASP.NET程式是伺服端網頁技術,換句話說,客戶端網頁只負責取得使用者輸入的資料,資料都是送到伺服端來進行處理。網頁表單就是ASP.NET程式的資料輸入介面,如同Windows對話方塊,它是使用者與後端程式的溝通橋樑,如下圖所示:
伺服端控制項的Web表單處理 ASP.NET的Web表單是結合HTML/XHTML、程式碼和伺服端控制項,一種完全在Web伺服器執行的表單,如下圖所示:
Web表單的程式架構-說明 ASP.NET的Web表單可以建立跨平台和跨瀏覽程式Web應用程式的輸入介面,其使用的技術如同在VB、JBuilder等視覺化開發工具建立Windows應用程式的「GUI」(Graphics UserInterface)介面。 Web表單程式架構是一種事件驅動程式設計模型(Event-driven Programming Model),它是使用伺服端控制項建立Web表單的使用介面。當產生事件時,ASP.NET程式以對應的事件處理程序來處理事件。
Web表單的程式架構-架構1 <%@ Page Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> Protected Sub Button1_Click(ByVal sender As _ Object, ByVal e As System.EventArgs) Label1.Text = "按下Button控制項<br/>" End Sub </script>
Web表單的程式架構-架構2 <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>未命名頁面</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div> </form> </body> </html>
Web表單的程式架構-架構說明 第一部分:<script>標籤的事件處理程序或函數,以此例是Button1_Click()事件處理程序。 第二部分:<form Runat="server">標籤建立Web表單,內含Form表單標籤和伺服端控制項(Server Controls),以此例擁有Label和Button控制項。
Head標頭標籤 在ASP.NET 2.0版的<head>標籤,可以改為<head Runat="server">的HtmlHead控制項物件,如下所示: <head Runat="server"> …… </head> 上述Head標頭標籤可以建立HtmlHead物件。ASP.NET程式可以指定HtmlTitle物件的標題文字(即<title>標籤),如下所示: Sub Page_Load(Sender As Object, _ E As Eventargs) Page.Header.Title = "Ch6-2-1.aspx" End Sub
Form表單標籤-說明 Web表單的伺服端控制項是置於<form Runat="server">的HTML控制項之間,它就是HtmlForm控制項物件,如下所示: <form Runat="server"> ……… </form> 上述Web表單和HTML/XHTML表單差異只在Runat屬性,此屬性將HTML/XHTML表單轉換成ASP.NET的Web表單。
Form表單標籤-屬性 Id屬性:Web表單的識別名稱。 Method屬性:控制項值的送出方式,值只能是post或get,其預設是post方法。 Action屬性:指定Web表單處理的ASP.NET程式,預設是自已,如果是其他ASP.NET程式,其值是程式的URL網址。
伺服端控制項-說明 Web表單是由伺服端控制項(Server Controls)組成,它是一種伺服端可程式化物件。 ASP.NET程式可以使用HTML或Web控制項來建立表單使用介面。
伺服端控制項-HTML控制項(說明) HTML控制項是.NET Framework物件,這些控制項都擁有對應的HTML/XHTML標籤,如下所示: <input type="TEXT" Id="Name" size ="20" Runat="server"> 上述標籤和HTML/XHTML標籤並沒有什麼不同,其差異只在新增Runat和Id兩個屬性。
伺服端控制項-HTML控制項(種類)
伺服端控制項-Web控制項(說明) Web控制項是一組和HTML/XHTML標籤完全無關的控制項,其語法是使用XML標籤寫法,如下所示: <asp:TextBox Id="name" Width="200px" Runat="server"/> 上述Web控制項是使用asp字頭的XML標籤,在「:」符號後是控制項種類,以此例是TextBox控制項,Id屬性為控制項名稱,同樣需要Runat屬性值server,指明是位在伺服端處理。
伺服端控制項-Web控制項(種類)
Page物件與控制項的事件-說明 當在瀏覽程式載入ASP.NET程式,或使用者在Web表單按下或選擇控制項等操作時,就會造成控制項的狀態改變,進而觸發事件;當事件產生時,可以建立事件處理程序來處理此事件。
Page物件與控制項的事件-控制項事件 在Web表單的伺服端控制項都提供有相關事件。例如:按一下Button控制項button1時,就會觸發Click事件,其事件處理程序,如下所示: Protected Sub Button1_Click(ByVal sender As _ Object, ByVal e As System.EventArgs) Label1.Text = "按下Button控制項<br/>" End Sub
Page物件與控制項的事件-Page物件的事件 當伺服端執行和編譯ASP.NET程式,每一頁ASP.NET程式的網頁就是一個Page物件,它會觸發一系列Page物件的事件。Page物件的常用事件,如下表所示:
Web控制項的基礎-說明 Web控制項是一組比HTML控制項功能更強大的控制項,不僅可以建立Web表單,它還包括資料顯示的相關控制項,其語法是使用XML標籤的寫法,如下所示: <asp:TextBox id="name" Width="200px" runat="Server"/> Web控制項使用asp字頭的XML標籤,「:」符號後是控制項種類,以此例是TextBox控制項,id屬性為控制項名稱,同樣需要runat屬性值Server,指明是位在伺服端處理。
HTML控制項與WEB控制項的對照 HTML控制項 WEB <input type=“TEXT” id=“Name” runat=“Server”> WEB <asp:TextBox id=“Name” runat=“Server”/>
Web控制項的基礎-種類
Web控制項的基礎-屬性
Label標籤控制項-說明 Label標籤控制項的目的是在網頁顯示文字內容,它會轉換成HTML的<span>標籤,一個Label標籤控制項的範例,如下所示: <asp:Label id="Name" Width="200px" BorderStyle="solid" BorderColor="#ccccff" runat="Server"/>
Label標籤控制項-屬性
範例1 <!-- 程式範例:Ch06_01.aspx --> <%@ Page Language="VB" %> <html> <head> <title>Label標籤控制項</title> <script language="VB" runat="Server"> Sub Page_Load(Sender As Object, e As Eventargs) Name.Text = "ASP.NET網頁設計範例教本" End Sub </script> </head> <body> <h2>Label標籤控制項</h2> <hr> <asp:Label id="Name" Width="200px" BorderStyle="solid" BorderColor="#ccccff" runat="Server"/> </body> </html>
資料輸入控制項-建立 Web資料輸入控制項就是TextBox控制項,相當於HTML/XHTML表單標籤或控制項的文字方塊、密碼欄位和文字區域。 在VWD設計檢視建立的Web表單,如下圖所示:
資料輸入控制項-標籤 TextBox控制項標籤,如下所示: <asp:TextBox Id="name" Width="200px" Runat="server"/><br/> <asp:TextBox Id="pass" Width="200px" TextMode="Password" Runat="server"/><br/> <asp:TextBox Id="address" Width="200px" TextMode="Multiline" Rows="3" Runat="server"/> 上述標籤建立3個TextBox控制項,TextMode屬性指定欄位種類為密碼欄位(Password)或文字區域(Multiline)。
資料輸入控制項-標籤屬性
資料輸入控制項-存取欄位值 在ASP.NET程式取得TextBox控制項的欄位值,就是使用Text屬性,如下所示: name.Text pass.Text address.Text
範例2 <form runat="Server"> 姓名: <asp:TextBox id="name" Width="200px" runat="Server"/><br/> 密碼: <asp:TextBox id="pass" Width="200px" TextMode="Password" runat="Server"/><br/> 地址: <asp:TextBox id="address" Width="200px" TextMode="Multiline" Rows="3" runat="Server"/> <asp:Button id="Button" Text="送出" OnClick="button_Click" Runat="Server"/> </form> <asp:Label id=“msg" ForeColor=“red” runat="Server"/> <script language="VB" runat="Server"> Sub button_Click(Sender As Object, e As Eventargs) ' 顯示欄位值 msg.Text = "姓名: " & name.Text & “<br/>” msg.Text &= "密碼: " & pass.Text & “<br/>” msg.Text &= "地址: " & address.Text & “<br/>” End Sub
練習1 修改範例2的程式,使得按下〔送出〕的按鈕時,會判斷輸入密碼是不是123 ,不對時,會出現錯誤訊息 Ex06_01.aspx
Web表單的顯示狀態-說明 ASP.NET的「顯示狀態」(ViewState)可以保留伺服端控制項的狀態,也就是每次執行HTTP請求時,保留使用者輸入的值。 例如:在Web表單TextBox控制項輸入值,不論表單送回多少次,除非更改控制項的值,顯示狀態都能夠自動保留欄位值。
Web表單的顯示狀態 ASP.NET顯示狀態是使用隱藏欄位儲存狀態資料,如下圖所示:
Web表單的顯示狀態 請在瀏覽程式執行「檢視」→「原始檔」指令檢視原始程式碼,可以在表單標籤<form>看到<input type="hidden">標籤的隱藏欄位,如下圖所示:
CheckBox核取方塊控制項-建立 CheckBox核取方塊控制項是一個複選題,可以建立一組切換開關。在VWD設計檢視建立的Web表單,從左至右依序是3個CheckBox控制項,可以用來勾選多個選項,預設勾選使用電話,如下圖所示:
CheckBox核取方塊控制項-標籤 CheckBox控制項標籤,如下所示: <asp:CheckBox Id="Tel" Text="使用電話" Checked="True" Runat="server"/> <asp:CheckBox Id="Email" Text="使用電子郵件" Runat="server"/> <asp:CheckBox Id="Fax" Text="使用傳真" 上述標籤建立名為Tel、Email和Fax的3個CheckBox控制項。
CheckBox核取方塊控制項-標籤屬性
CheckBox核取方塊控制項-存取欄位值 在ASP.NET程式是使用If條件敘述來檢查Checked屬性,以便知道是否有勾選核取方塊,如下所示: If Tel.Checked Then str &= "使用電話來確認<br/>" End If
範例3 Sub Page_Load(Sender As Object, e As Eventargs) Tel.Checked = True End Sub Sub button_Click(Sender As Object, e As Eventargs) Dim str As String = "確認方式: " If Tel.Checked Then str &= "使用電話來確認<br>" End If If Email.Checked Then str &= "使用電子郵件來確認<br>" If Fax.Checked Then str &= "使用傳真來確認<br>" msg.Text = str <form runat="Server"> <b>訂單確認的方式</b><br> <asp:CheckBox id="Tel" Text="使用電話" runat="Server"/> <asp:CheckBox id="Email" Text="使用電子郵件" runat="Server"/> <asp:CheckBox id="Fax" Text="使用傳真" runat="Server"/><br/> <asp:button id="Button" Text="送出" OnClick="button_Click" runat="Server"/><br/> </form> <asp:Label id=“msg" font-size="10pt" ForeColor=“red” runat="Server"/>
RadioButton選擇鈕控制項-建立 RadioButton選擇鈕控制項是一個單選題,提供一組選項,只能選擇其中之一。在VWD設計檢視建立的Web表單,從左至右依序是3個RadioButton控制項,這是一組選項,可以用來選擇付款方式,預選信用卡,如下圖所示:
RadioButton選擇鈕控制項-標籤 <asp:RadioButton Id="Card" Text="信用卡“ Checked="True" GroupName="Payment“ Runat="server"/> <asp:RadioButton Id="Tele" Text="劃撥" GroupName="Payment“ Runat="server"/> <asp:RadioButton Id="Cash" Text="到貨付款" GroupName="Payment" Runat="server"/> 上述標籤的GroupName屬性值都是Payment,表示是一組RadioButton控制項。
RadioButton選擇鈕控制項-存取欄位值 在ASP.NET程式是使用If ElseIf多條件敘述來檢查Checked屬性,以便知道使用者是否選取指定選擇鈕,如下所示: If Card.Checked Then msg.Text = Card.Text & "<br/>" Else If Tele.Checked Then msg.Text = Tele.Text & "<br/>" Else If Cash.Checked Then msg.Text = Cash.Text & "<br/>" End If
範例4 Sub Page_Load(Sender As Object, e As Eventargs) Card.Checked = True End Sub Sub button_Click(Sender As Object, e As Eventargs) If Card.Checked Then msg.Text = Card.Text & "<br/>" Else If Tele.Checked Then msg.Text = Tele.Text & "<br/>" Else If Cash.Checked Then msg.Text = Cash.Text & "<br/>" End If <form runat="Server"> <b>訂單的付款方式</b><br/> <asp:RadioButton id="Card" Text="信用卡" Checked="True" GroupName="Payment" runat="server"/> <asp:RadioButton id="Tele" Text="劃撥" GroupName="Payment" runat="server"/> <asp:RadioButton id="Cash" Text="到貨付款" GroupName="Payment" runat="server"/><br> <asp:button id="Button" Text="送出" OnClick="button_Click" runat="Server"/><br/> </form> <asp:Label id=“msg" font-bold="true" foreColor=“red” runat="Server"/>
清單控制項 DropDownList下拉式選單控制項 ListBox清單方塊控制項 CheckBoxList核取方塊清單控制項 RadioButtonList選擇鈕清單控制項
清單控制項-屬性 Web控制項有四種清單選擇功能的控制項:DropDownList、ListBox、CheckBoxList和RadioButtonList控制項。控制項都支援的屬性,如下表所示:
清單控制項-在VWD新增清單的ListItem控制項1 在VWD的【設計】標籤新增DropDownList、ListBox、CheckBoxList和RadioButtonList控制項後,都是顯示未繫結和沒有選項的控制項,即沒有項目ListItem控制項,如下圖所示:
清單控制項-在VWD新增清單的ListItem控制項2 請選取清單控制項,按一下上方箭頭圖示顯示「DropDownList工作」功能表,然後請按一下【編輯項目】超連結來新增ListItem控制項的項目,可以看到「ListItem集合編輯器」視窗。
清單控制項-在VWD新增清單的ListItem控制項3 請重複按【加入】鈕,即可新增清單所需的ListItem控制項,一個選項是一個ListItem控制項。其相關屬性說明,如下表所示:
DropDownList下拉式選單控制項-建立 DropDownList下拉式選單控制項是一個單選題,相當於單選HTML/XHTML標籤<select>的下拉式選單。在VWD設計檢視建立的Web表單,如下圖所示:
DropDownList下拉式選單控制項-屬性 ListItem控制項相關屬性,如下表所示:
DropDownList下拉式選單控制項-標籤 <asp:DropDownList Id="Shipment" Width="100px" Runat="server"> <asp:ListItem Text="郵寄" Value="Mail"/> <asp:ListItem Text="快遞" Value="UPS"/> <asp:ListItem Text="自取" Value="Self"/> </asp:DropDownList> 上述標籤建立DropDownList控制項,ListItem控制項建立每一個選項。
DropDownList下拉式選單控制項-使用 在DropDownList控制項可以檢查SelectedIndex屬性值是否為-1,以確定使用者是否選取,如下: If Shipment.SelectedIndex > - 1 Then ……… End If 如果使用者已經選取,接著使用SelectedItem屬性取得ListItem物件,以Text和Value屬性取得選項名稱和值,如下所示: Shipment.SelectedItem.Text Shipment.SelectedItem.Value
範例5 Sub button_Click(Sender As Object, e As Eventargs) If Shipment.SelectedIndex > - 1 Then show.Text = Shipment.SelectedItem.Text & _ Shipment.SelectedItem.Value End If End Sub <form runat="Server"> <b>訂單的寄送方式</b><br> <asp:DropDownList id="Shipment" Width="100px" runat="Server"> <asp:ListItem Text="郵寄" Value="Mail"/> <asp:ListItem Text="快遞" Value="UPS"/> <asp:ListItem Text="自取" Value="Self"/> </asp:DropDownList> <asp:button id="Button" Text="送出" OnClick="button_Click" runat="Server"/> </form> <asp:Label id="show" font-bold="true" runat="Server"/><br>
ListBox清單方塊控制項-建立 ListBox清單方塊控制項可以是單選或複選題,其顯示方式如同複選HTML/XHTML標籤<select>的清單方塊。在VWD設計檢視建立的Web表單,如下圖所示:
ListBox清單方塊控制項-屬性
ListBox清單方塊控制項-說明 ListBox清單方塊控制項可以設定成單選或複選,顯示方式如同複選的HtmlSelect控制項,如下: <asp:ListBox id="Gifts" SelectionMode="Multiple" runat="Server"> <asp:ListItem Text="滑鼠" Value="1" Selected="True"/> <asp:ListItem Text="鍵盤" Value="2"/> <asp:ListItem Text="喇叭" Value="3"/> <asp:ListItem Text="麥克風" Value="4"/> </asp:ListBox> 標籤建立名為Gifts的ListBox控制項,因為SelectionMode屬性值是Multiple,所以為多選。
ListBox清單方塊控制項-使用 如果是單選的ListBox控制項,其取得選取選項的方式和DropDownList控制項相同。複選需要使用For Next迴圈取得選取的選項,如下: For i = 0 to Gifts.Items.Count-1 If Gifts.Items(i).Selected Then str = str & Gifts.Items(i).Text & "<br>" End If Next i Items屬性取得所有選項的集合物件,Count屬性取得選項數,Gifts.Items(i).Selected檢查選項是否選取,Text或Value屬性取得選項名稱和值。
範例6 Sub button_Click(Sender As Object, e As Eventargs) Dim str As String = "" Dim i As Integer ' 取得所有的選項 For i = 0 to Gifts.Items.Count-1 If Gifts.Items(i).Selected Then str = str & Gifts.Items(i).Text & "<br/>" End If Next i msg.Text = str End Sub <form runat="Server"> <b>選擇免費的禮物(多選)</b><br/> <asp:ListBox id="Gifts" SelectionMode="Multiple" runat="Server"> <asp:ListItem Text="滑鼠" Value="1" Selected="True"/> <asp:ListItem Text="鍵盤" Value="2"/> <asp:ListItem Text="喇叭" Value="3"/> <asp:ListItem Text="麥克風" Value="4"/> </asp:ListBox> <asp:button id="Button" Text="送出" OnClick="button_Click" runat="Server"/> </form> <asp:Label id=“msg" font-bold="true" runat="Server"/><br/>
CheckBoxList核取方塊清單控制項-建立 CheckBoxList核取方塊清單控制項是一組CheckBox控制項,它是複選的控制項,簡單的說,就是建立一個隱藏面版來編排CheckBox控制項。在VWD設計檢視建立的Web表單,如下圖所示:
CheckBoxList核取方塊清單控制項-標籤屬性
CheckBoxList核取方塊清單控制項-說明 CheckBoxList核取方塊清單控制項是一組CheckBox控制項,這是一個複選的控制項,提供屬性能夠輕鬆編排多個CheckBox控制項,如下所示: <asp:CheckBoxList id="Gifts" RepeatDirection="Horizontal" runat="Server"> <asp:ListItem Text="滑鼠" Value="1" Selected="True"/> <asp:ListItem Text="鍵盤" Value="2"/> <asp:ListItem Text="喇叭" Value="3"/> <asp:ListItem Text="麥克風" Value="4"/> </asp:CheckBoxList>
範例7 Sub button_Click(Sender As Object, e As Eventargs) Dim str As String = "" Dim i As Integer ' 取得所有的選項 For i = 0 to Gifts.Items.Count-1 If Gifts.Items(i).Selected Then str = str & Gifts.Items(i).Text & _ "(" & Gifts.Items(i).Value & ")<br/>" End If Next i msg.Text = str End Sub <form runat="Server"> <b>選擇免費的禮物(多選)</b><br/> <asp:CheckBoxList id="Gifts" RepeatDirection="Horizontal" runat="Server"> <asp:ListItem Text="滑鼠" Value="1" Selected="True"/> <asp:ListItem Text="鍵盤" Value="2"/> <asp:ListItem Text="喇叭" Value="3"/> <asp:ListItem Text="麥克風" Value="4"/> </asp:CheckBoxList> <asp:button id="Button" Text="送出" OnClick="button_Click" runat="Server"/> </form> <asp:Label id=“msg" font-bold="true" runat="Server"/><br/>
RadioButtonList選擇鈕清單控制項-建立 RadioButtonList選擇鈕清單控制項是一組RadioButton控制項,屬於單選控制項,簡單的說,它就是提供面版來編排多個RadioButton控制項。在VWD設計檢視建立的Web表單,如下圖所示:
RadioButtonList選擇鈕清單控制項-標籤 RadioButtonList控制項是一組RadioButton控制項,可以選擇付款方式,其控制項標籤如下所示: <asp:RadioButtonList Id="Payment" RepeatDirection="Horizontal" Runat="server"> <asp:ListItem Text="信用卡" Value="1" Selected="True"/> <asp:ListItem Text="劃撥" Value="2"/> <asp:ListItem Text="喇叭" Value="3"/> <asp:ListItem Text="到貨付款" Value="4"/> </asp:RadioButtonList>
範例8 Sub button_Click(Sender As Object, e As Eventargs) If Payment.SelectedIndex > - 1 Then show.Text = Payment.SelectedItem.Text & _ "(" & Payment.SelectedItem.Value & ")" End If End Sub <form runat="Server"> <b>訂單的付款方式</b><br> <asp:RadioButtonList id="Payment" RepeatDirection="Horizontal" runat="Server"> <asp:ListItem Text="信用卡" Value="1" Selected="True"/> <asp:ListItem Text="劃撥" Value="2"/> <asp:ListItem Text="喇叭" Value="3"/> <asp:ListItem Text="到貨付款" Value="4"/> </asp:RadioButtonList> <asp:button id="Button" Text="送出" OnClick="button_Click" runat="Server"/> </form> <asp:Label id="show" font-bold="true" runat="Server"/><br>
Button按鈕控制項-說明 Button按鈕控制項的功能如同HtmlButton和HtmlInputButton控制項,如下所示: <asp:Button id="Button" Text="送出" OnClick="button_Click" runat="Server"/>
Button按鈕控制項-屬性與事件
LinkButton超連結按鈕控制項 LinkButton超連結按鈕控制項的功能如同Button控制項,只是顯示的外觀是超連結文字,如下所示: <asp:LinkButton id="Button" Text="送出" OnClick="button_Click" runat="Server"/> 標籤建立名為Button1的LinkButton控制項,其相關屬性與事件和Button控制項相同。
範例9, 09_01 Sub button_Click(Sender As Object, e As Eventargs) show.Text = "姓名: " & name.Text & "/" & Button.Text End Sub <form runat="Server"> 姓名: <asp:TextBox id="name" Width="200px" runat="Server"/><br> <asp:LinkButton id="Button" Text="送出" OnClick="button_Click" runat="Server"/> </form> <asp:Label id="show" Width="200px" runat="Server"/>
ImageButton圖片按鈕控制項-說明 ImageButton圖片按鈕控制項的功能也是Button控制項,只是以圖片顯示按鈕,如下所示: <asp:ImageButton id="Button" ImageUrl="sample.jpg" OnClick="button2_Click" runat="Server"/> 標籤建立名為Button的ImageButton控制項,其相關屬性與事件和Button控制項相似,只是沒有Text屬性。
ImageButton圖片按鈕控制項-屬性
範例10 Sub button_Click(Sender As Object, e As ImageClickEventArgs) show.Text = "姓名: " & name.Text & "/" & Button.AlternateText End Sub <form runat="Server"> 姓名: <asp:TextBox id="name" Width="200px" runat="Server"/><br> <asp:ImageButton id="Button" ImageUrl="sample.jpg" AlternateText="按一下" OnClick="button_Click" runat="Server"/> </form> <asp:Label id="show" Width="200px" runat="Server"/>
練習2:使用WEB控制項 設計一個會員資料表類似右圖: 將個人資料內容取得後,做一些判斷後輸出 例: 依輸入的性別,判斷是先生或女士 生日判斷可以判斷出星座
練習3:使用WEB控制項 設計圖片或影像按鈕 使用者可以按下圖片來選購
Web表單送回功能 Page物件的IsPostBack屬性 控制項的AutoPostBack屬性
Web表單送回功能 Web表單送回功能可以讓使用者在控制項輸入或選取的資料,送回伺服端來處理,預設送給ASP.NET程式本身,其相關屬性說明如下所示: Page物件的IsPostBack屬性:檢查是否是第1次載入ASP.NET程式,或是已經在客戶端執行過送回。 伺服端控制項的AutoPostBack屬性:當控制項指定AutoPostBack屬性為True,表示當控制項資料變更時,就自動執行表單送回。
Page物件的IsPostBack屬性 在Page_Load()事件處理程序,可以使用Page物件的IsPostBack屬性檢查是否是表單送回,如下所示: If Page.IsPostBack Then If name.Text <> "" Then msg.Text = name.Text & "歡迎進入網頁!" End If Else name.Text = "江小魚" lblName.Text = "使用者名稱: "
控制項的AutoPostBack屬性-說明 Web控制項如果擁有AutoPostBack屬性,可以配合事件處理程序來自動送回控制項內容的變更,如下所示: <asp:DropDownList Id="Username" Width="100px" Runat="server" AutoPostBack="True" OnSelectedIndexChanged="Change_Name"> <asp:ListItem Text="陳會安" Value="001"/> <asp:ListItem Text="江小魚" Value="002"/> <asp:ListItem Text="陳大安" Value="003"/> </asp:DropDownList> 上述控制項的AutoPostBack屬性為True,表示當更改選項資料時,不用等到按【送出】鈕,就馬上自動送回。
控制項的AutoPostBack屬性-說明 Web控制項支援AutoPostBack屬性和其觸發事件,如下表所示: