ASP.NET 網頁製作教本 – 從基本語法學起

Slides:



Advertisements
Similar presentations
HyperText Markup Language
Advertisements

ASP.NET 網頁製作教本 -- 從基本語法學起
清代章回小說----儒林外史 製作群:侑桂、品希、萱容、怡靜、佩涓、凸凸.
第5章 HTML 標籤介紹.
第八章 DataGrid 與 DataTable 瀏覽器 DataTable DataGrid 存取 顯示表格 暑資碩三 房玄博 報告.
ASP.NET 網頁製作教本 – 從基本語法學起
佛山科学技术学院 第7章 HTML Internet及多媒体应用.
第8讲 HTML与PHP基础 静态网页 vs. 动态网页.
HTML概念 HTML(Hyper Text Markup Language 超文本标识语言) 是一种用来制作超文本文档的简单标记语言。
第五章:JDBC与数据库 第一讲.
第三讲 站点链接与表格布局.
网页 设计与制作.
第13章 FTP檔案上傳、 自動傳送 報告人 M9153314 李育旻.
《ASP.NET数据库网站设计教程(C#版)》
第6章 HTML控件和Web服务器控件 本章讲述的主要内容 6.1 ASP.NET控件概述 6.2 标准服务器端控件 6.3 数据验证控件
HTML 語法教學 授課:彭穎聰 老師.
《计算机网络技术》 asp.net 程序设计 文本类控件 笪静.
CT212 (02/03)-Network Programming and design
HTML.
Ch03 VB.NET語法建立ASP.NET 網頁程式設計.
ASP动态网页设计实用教程 主讲教师: 开课单位:.
ASP.NET 3.5 Ch5 進階伺服器控制項.
第3章 超文本标记语言(HTML) 3.1 基本结构标记 3.2 文本格式标记 3.3 超链接标记<A></A>
DreamWeaver MX (II) 林偉川.
動態網頁程式 設計實習 1042 數位教材 單元 9:ASP.NET物件及表單
課程名稱:程式設計 授課老師:________
Ch06 建立WEB表單 網頁程式設計.
Chapter 5 進階伺服器控制項.
Ch11 檔案上傳及電子郵件 WEB程式設計.
ASP.NET 網頁製作教本 – 從基本語法學起
ASP.NET 網頁製作教本 – 從基本語法學起
HTML 钟晖云 QQ:
客戶端的檔案上傳 HtmlInputFile檔案控制項 上傳單一檔案 同時上傳多個檔案.
ASP.NET 網頁製作教本 – 從基本語法學起
ASP.NET 網頁製作教本 – 從基本語法學起
Controls.
ASP.NET 網頁製作教本 – 從基本語法學起
ASP.NET 網頁製作教本 – 從基本語法學起
WEB伺服器控制項.
網頁切換移轉 JS vs. ASP.NET.
ASP.NET 網頁製作教本 – 從基本語法學起
主 讲 教 师:陆有军 Web技术与应用 第四章 内部对象 主 讲 教 师:陆有军
硬體話機設定說明.
檔案與磁碟的基本介紹.
系統設定 IE8相容性檢視
Ch04 表單 網頁程式設計.
第3章 ASP.NET程序设计基础 3.
網頁切換移轉 JS vs. ASP.NET.
表單(Form).
第18章 個人入口網站的建立 18-1入口網站的基礎 18-2 建立網站的搜尋引擎 18-3 網頁組件的個人化功能
HTML – 表格 資訊教育.
第一個cordova project Cordova project建立與平台設定,均藉由cli(command line interface來完成 建立project請打開命令提示字元視窗應輸入下列命令 cordova create hello tw.edu.stust.mis.hello HelloWorld.
表單(Form).
網頁程式概論 建國科技大學資管系 饒瑞佶 2015/9 V1 2016/4 V2 2016/9 V3.
表格(HTML – FORM).
第4章 ASP.NET服务器控件.
期末考.
Controls.
GridView.
GridView操作 (II).
班級:404班 時間:星期二第八節 教師:黃韋欽師
表格(HTML – FORM)
MiRanda Java Interface v1.0的使用方法
從HTML表格到CSS 靜宜大學 資管系 楊子青.
進階UI元件:ListView元件以及複選 靜宜大學資管系 楊子青
Activity的生命週期: 播放音樂與影片 靜宜大學資管系 楊子青
多國語系 建國科技大學 資管系 饒瑞佶.
NFC (近場通訊, Near Field Communication) 靜宜大學資管系 楊子青
表单页面 表单是用户利用浏览器对Web站点网络数据库进行查询的一种界面,用户利用表单可以输入信息或选择选项等,然后将这些信息提交给服务器进行处理。通过表单,既可以将浏览器的信息发送到Internet服务器上,同时表单也可以使用户与站点的浏览者交互或从浏览者那里收集信息。它是网页的设计者和使用者相互交流的工具。表单对象包括文本域(单行、多行、密码)、列表、菜单、复选框、单选框、按钮等。
教师:李金双 网页制作 教师:李金双
Presentation transcript:

ASP.NET 網頁製作教本 – 從基本語法學起 第 6 章 Server 控制元件與輸入表單

6-1 文字方塊(TextBox)

TextBox 常用屬性總覽(1) TextMode 屬性 :

TextBox 常用屬性總覽(2) Size 屬性:用來設定單行文字方塊及密碼方塊的寬度 。 MaxLength 屬性 :用來設定單行文字方塊及密碼方塊的可輸入資料長度。 Rows、Columns 屬性 :多行文字方塊的列數與行數,也就是決定多行文字方塊的大小。 Text 屬性:用來讀取或設定文字方塊的內容。

密碼欄位 在習慣上,輸入密碼時,其輸入之字元要以‧(或 *)來顯示,以避免密碼被偷窺,想要提供這種密碼輸入欄位,需將 TextBox 的 TextMode 屬性設定成 Password,如下: <asp:TextBox runat="server" TextMode="Password" …/>

[密碼欄位] 實例 -- (1) 寫一個讓上網者輸入帳號及密碼的網頁,然後利用另一個網頁顯示「帳號, 歡迎您!」。

[密碼欄位] 實例 -- (2) 安插兩個 TextBox 所使用的標示如下: 帳號:<asp:TextBox runat="server" id="Account" /><P> 密碼:<asp:TextBox runat="server" TextMode="Password" id="Password" /><P>

[密碼欄位] 實例 -- (3) 按下「登入」鈕時,將網頁切換到 Pass02.aspx 應使用 Server.Transfer,不是 Response.Redirect,這樣子可避免密碼被顯示在瀏覽器的網址欄: URL = "Pass02.aspx" & _ "?Account=" & Server.URLEncode(Account.Text) & _ "&Password=" & Server.URLEncode(Password.Text) Server.Transfer( URL )

[密碼欄位] 實例 -- (4) Pass01.aspx Part I <HTML> <BODY BgColor="#FFFFFF"> <H3>請登入「帳號」及「密碼」<HR></H3> <Form runat="server"> 帳號:<asp:TextBox runat="server" id="Account" /><P> 密碼:<asp:TextBox runat="server" TextMode="Password" id="Password" /><P> <asp:Button runat="server" Text="登入" OnClick="Button_Click" /> </Form> </BODY> </HTML>  

[密碼欄位] 實例 -- (5) Pass01.aspx Part II <script Language="VB" runat="server">   Sub Button_Click(sender As Object, e As EventArgs) Dim URL URL = "Pass02.aspx" & _ "?Account=" & Server.URLEncode(Account.Text) & _ "&Password=" & Server.URLEncode(Password.Text) Server.Transfer( URL ) End Sub  </script>

[密碼欄位] 實例 -- (6) Pass02.aspx <HTML> <BODY BgColor="#FFFFFF"> <H3><%=Request("Account")%> 歡迎您!<HR></H3> </BODY> </HTML>

多行文字的輸入(1) 想要讓上網者輸入多行文字,在安插 TextBox 時,需將 TextMode 設定成 MultiLine,此外設定 Rows 及 Colums 可決定其大小,例如: <asp:TextBox runat="server" TextMode="MultiLine" Rows=4 Columns=50 id="Text1" />

多行文字的輸入(2) 由於上網者可能在多行文字方塊中輸入超過2KB 的資料,因此,若資料須傳遞給另一個網頁,應使用 Server.Transfer,以免發生錯誤。 最好使用 <pre> 標示來顯示輸入的資料,以 <pre> 顯示的資料稱為「格式化」資料,其特色是所有資料都會原原本本地被顯示出來,不像其他格式,可能會將某些特殊字元視為白字,舉例來說,可以在 <pre> 格式中跳行的跳行字元,在一般格式中並不具備跳行的功用,只是個白字。

多行文字的輸入 -- 實例 (1) 完成以下兩個網頁。

多行文字的輸入 -- 實例 (2) Multi01.aspx Part I <HTML> <BODY BgColor="#FFFFFF"> <H3>可輸入多行文字的文字方塊<HR></H3> <Form runat="server"> <asp:TextBox runat="server" TextMode="MultiLine" id="Memo" Rows=8 Columns=60 /><P> <asp:Button runat="server" Text="輸入" OnClick="Button_Click" /> </Form> </BODY> </HTML>

多行文字的輸入 -- 實例 (3) Multi01.aspx Part II <script Language="VB" runat="server">   Sub Button_Click(sender As Object, e As EventArgs) Dim URL URL = "Multi02.aspx" & _ "?Memo=" & Server.URLEncode(Memo.Text) Server.Transfer( URL ) End Sub </script>

多行文字的輸入 -- 實例 (4) Multi02.aspx <HTML> <BODY BgColor="#FFFFFF"> <H3>將多行文字方塊的文字顯示出來<HR></H3> <pre><%=Request("Memo")%></pre> <HR> </BODY> </HTML>

多行文字的輸入 -- 實例 (5) TextBox 的安插:安插 TextBox 時,需特 別設定的屬性有: 結果可以產生一個 8×60 的文字輸入方塊。 TextMode="MultiLine" Rows=8 Columns=60

多行文字的輸入 -- 實例 (6) 資料的傳遞:因為 TextBox 可能輸入超過 2KB 的資料,所以要使用 Server.Transfer 傳遞資料: Server.Transfer( URL )

多行文字的輸入 -- 實例 (7) 資料的顯示:要使用 <pre> 格式化的方式來顯示資料,如下: <pre><%=Request("Memo")%></pre>

多行文字的輸入 -- 實例 (8) 如果不使用 <pre> 格式來顯示資料,會出現以下結果:

設定文字方塊的寬度 及資料長度(1) Size 屬性用來設定文字方塊的寬度,例如: <asp:TextBox runat="server" Size=20 id="Text1" /><p> <asp:TextBox runat="server" Size=40 id="Text2" /><p>

設定文字方塊的寬度 及資料長度(2) MaxLength 可用來設定可輸入資料的最大長度,例如: <asp:TextBox runat="server" MaxLength=6 id="Text1" />

TextBox 的應用實例: 訪客留言板 簡易的訪客留言板,假設我們要求留言者輸入的資料有姓名、Email、及留言三個欄位,則表單的設計如下:

訪客留言板 (1) 文字方塊靠左對齊:想想,「姓名:」與「Email:」的長度並不相等,如何讓第一個文字方塊與第二個文字方塊靠左對齊呢?一般設定的結果如下,並不是很整齊:

訪客留言板 (2) 「留言:」欄位與文字輸入區靠上對齊:一般設定的結果是靠下對齊,例如:

訪客留言板 (3) 要完成以上表單的設計須藉助表格,如下圖:

訪客留言板 (4) 用虛線來表示 <Table> 所構成的表格,設計時有幾個重點: 表格框線的寬度須設定為 0,也就是說 <Table> 標示的 Border 屬性值須設定成 0。 包含「留言:」這一列的「垂直對齊」要設定成靠上,也就是說這一列 <TR> 的 Valign 屬性值要設定成 Top。

訪客留言板 (5) gform.aspx Part I <HTML> <BODY BgColor="#FFFFFF">   <Form runat="server"> <Table Border=0> <TR> <TD>姓名:</TD> <TD><asp:TextBox runat="server" Size="20" id="Name" /></TD> </TR> <TD>Email:</TD> <TD><asp:TextBox runat="server" Size="60" id="Email" /></TD> </HTML>

訪客留言板 (6) gform.aspx Part II <TR Valign=Top> <TD>留言:</TD> <TD><asp:TextBox runat="server" TextMode="MultiLine" id="Memo" Rows="6" Cols="60" /></TD> </TR> </Table> <asp:Button runat="server" Text="傳送" /> </Form>  </BODY>

訪客留言板 (7) gform.aspx Part III <script Language="VB" runat="server">   Sub Button_Click(sender As Object, e As EventArgs) Dim URL URL = "gbook.aspx" & _ "?Name=" & Server.URLEncode(Name.Text) & _ "&Email=" & Server.URLEncode(Email.Text) & _ "&Memo=" & Server.URLEncode(Memo.Text) Server.Transfer( URL ) End Sub </script>

訪客留言板 -- 資料的顯示 (1)

訪客留言板 -- 資料的顯示 (2) gbook.aspx <HTML> <BODY BgColor="#FFFFFF">   <TABLE Width="100%" Border=0> <TR> <TD>留言者:<%=Request("Name")%></TD> <TD>Email:<%=Request("Email")%></TD> </TR> <TR BgColor=Yellow> <TD ColSpan=2><pre><%=Request("Memo")%></pre></TD> </TABLE> </BODY> </HTML>

6-2 下拉式選單(ListBox)

ListBox 的安插 City00.aspx

ListBox 的安插 – 設定下拉式選單的高度 <asp:ListBox runat="server" id="City" Rows=4> <asp:ListItem>台北市</asp:ListItem> <asp:ListItem>台中市</asp:ListItem> <asp:ListItem>台南市</asp:ListItem> <asp:ListItem>高雄市</asp:ListItem> </asp:ListBox>

可以複選的 ListBox 若要讓 ListBox 變成複選的,須將SelectionMode 屬性設定為 “Multiple”(註:選取時須先按住 Ctrl 或 Shift 鍵),例如: <asp:ListBox runat="server" id="City" SelectionMode="Multiple"> <asp:ListItem>台北市</asp:ListItem> <asp:ListItem>台中市</asp:ListItem> <asp:ListItem>台南市</asp:ListItem> <asp:ListItem>高雄市</asp:ListItem> </asp:ListBox>

讀取上網者選擇的選項 – 只能單選的 ListBox 使用 ListBox_id.SelectedItem.Text 讀取,假設下面 ListBox 的 id 為 “City”、被上網者選取的選項為 “台中市”,則 City.SelectedItem.Text 將等於 "台中市"。

讀取上網者選擇的選項 – 可以複選的 ListBox 使用以下迴圈讀取選項: id.Items.Count: 表示 ListBox 之中選項的數目。 id.Items(I).Selected: 表示第 I 項是否被選取,若被選取,則為 True,否則為 False。 id.Items(I).Text: 表示第 I 項的文字內容。 For I = 0 To id.Items.Count - 1 If id.Items(I).Selected Then ' 利用 id.Items(I).Text 讀取選項 End If Next

可以複選的 ListBox 實例 -- (1) 在上網者選取選項之後(註:可以複選),將被選取之選項條列出來。

可以複選的 ListBox 實例 -- (2) 當「選擇」鈕被按下時,所啟動執行的 程式: Msg.Text = "您想居住的城市有:<UL>" For I = 0 To City.Items.Count - 1 If City.Items(I).Selected Then Msg.Text &= "<LI>" & City.Items(I).Text & "</LI>" End If Next Msg.Text &= "</UL>"

可以複選的 ListBox 實例 -- (3) 以上程式將逐一列出 City 這個 ListBox 之中所有被選取的選項,然後串成以下格式: <UL>您想居住的城市有: <LI>被選取的選項一</LI> <LI>被選取的選項二</LI> … </UL>

可以複選的 ListBox 實例 -- (4) City01.aspx Part I <HTML> <BODY BgColor="#FFFFFF"> <H2>選擇您想居住的城市 -- 可以複選<HR></H2>   <Form runat="server"> <asp:ListBox runat="server" id="City" SelectionMode="Multiple" Rows=4> <asp:ListItem>台北市</asp:ListItem> <asp:ListItem>台中市</asp:ListItem> <asp:ListItem>台南市</asp:ListItem> <asp:ListItem>高雄市</asp:ListItem> </asp:ListBox><p> <asp:Button runat="server" Text="選擇" OnClick="Button_Click"/><p> <HR><p> <asp:Label runat="server" id="Msg" /> </Form> </BODY> </HTML>

可以複選的 ListBox 實例 -- (5) City01.aspx Part II <script Language="VB" runat="server">   Sub Button_Click(sender As Object, e As EventArgs) Dim I Msg.Text = "您想居住的城市有:<UL>" For I = 0 To City.Items.Count - 1 If City.Items(I).Selected Then Msg.Text &= "<LI>" & City.Items(I).Text & "</LI>" End If Next Msg.Text &= "</UL>" End Sub </script>

練習 – (1) 請完成以下的個人基本資料輸入表單:(其中「性別」欄位的選項有「男、女、其他」、「血型」欄位的選項有「A、B、O、AB、其他」、「已婚」欄位的選項有「未婚、已婚」、「興趣」欄位的選項有「運動、電影、閱讀、音樂、看海、歌唱」且為多選)

練習 – (2)

練習 – (3) 同時也請完成處理此一表單的網頁,將所輸入的資料顯示成:

6-3 核取方塊(CheckBox)

CheckBox 與可複選的 ListBox

安插 CheckBox (1) 安插 CheckBox 時,關鍵性的屬性除了runat 及id之外,還有: Text(文字):CheckBox 所顯示的文字內容。 Checked(最初狀態):若設定為 “True”,則此一 CheckBox 一開始會以核取(打ˇ)狀態來顯示,若設定為 "False" 或省略此一屬性,則以未核取的狀態來顯示。

安插 CheckBox (2) 實際的例子: <asp:CheckBox runat="server" id="City1" Text="台北市" Checked="True" /><br> <asp:CheckBox runat="server" id="City2" Text="台中市" /><br> <asp:CheckBox runat="server" id="City3" Text="台南市" /><br> <asp:CheckBox runat="server" id="City4" Text="高雄市" />

安插 CheckBox (3) 安插多個CheckBox時,請注意不同 CheckBox 須設定不同的 id,例如上面這 四個 CheckBox 就分別被設定 City1, City2, City3, City4 四個不同的名字。

讀取 CheckBox 的狀態及文字(1) 想要讀取 CheckBox 的狀態及文字,分別使用其 Checked 及 Text 屬性,使用例如下: Msg.Text = "您想居住的城市有:<UL>" If City1.Checked Then Msg.Text &= "<LI>" & City1.Text & "</LI>" If City2.Checked Then Msg.Text &= "<LI>" & City2.Text & "</LI>" If City3.Checked Then Msg.Text &= "<LI>" & City3.Text & "</LI>" If City4.Checked Then Msg.Text &= "<LI>" & City4.Text & "</LI>" Msg.Text &= "</UL>"

讀取 CheckBox 的狀態及文字(2) 完整的實例如 City02.aspx:

讀取 CheckBox 的狀態及文字(3) City02.aspx: Part I <HTML> <BODY BgColor="#FFFFFF"> <H2>選擇您想居住的城市<HR></H2>   <Form runat="server"> <asp:CheckBox runat="server" id="City1" Text="台北市" /><br> <asp:CheckBox runat="server" id="City2" Text="台中市" /><br> <asp:CheckBox runat="server" id="City3" Text="台南市" /><br> <asp:CheckBox runat="server" id="City4" Text="高雄市" /> <p> <asp:Button runat="server" Text="選擇" OnClick="Button_Click"/><p> <HR><p> <asp:Label runat="server" id="Msg" /> </Form> </BODY> </HTML>

讀取 CheckBox 的狀態及文字(4) City02.aspx Part II: <script Language="VB" runat="server">   Sub Button_Click(sender As Object, e As EventArgs) Msg.Text = "您想居住的城市有:<UL>" If City1.Checked Then Msg.Text &= "<LI>" & City1.Text & "</LI>" If City2.Checked Then Msg.Text &= "<LI>" & City2.Text & "</LI>" If City3.Checked Then Msg.Text &= "<LI>" & City3.Text & "</LI>" If City4.Checked Then Msg.Text &= "<LI>" & City4.Text & "</LI>" Msg.Text &= "</UL>" End Sub </script>

CheckBoxList(核取方塊清單)(1) 除了 CheckBox,ASP.NET 還提供另一個類似 ListBox 的控制元件 CheckBoxList

CheckBoxList(核取方塊清單)(2) ListBox 的標示為: CheckBoxList 的標示為: <asp:ListBox runat="server" id="City" SelectionMode="Multiple"> <asp:ListItem>台北市</asp:ListItem> <asp:ListItem>台中市</asp:ListItem> <asp:ListItem>台南市</asp:ListItem> <asp:ListItem>高雄市</asp:ListItem> </asp:ListBox> <asp:CheckBoxList runat="server" id="City"> <asp:ListItem>台北市</asp:ListItem> <asp:ListItem>台中市</asp:ListItem> <asp:ListItem>台南市</asp:ListItem> <asp:ListItem>高雄市</asp:ListItem> </asp:CheckBoxList>

CheckBoxList(核取方塊清單)(3)

CheckBoxList(核取方塊清單)(4) 所需修改的部分只有以下兩行 ListBox 的標示: 分別改成: <asp:ListBox runat="server" id="City" SelectionMode="Multiple" Rows=4> </asp:ListBox><p> <asp:CheckBoxList runat="server" id="City"> </asp:CheckBoxList><p>

核取方塊的排列方式(1)

核取方塊的排列方式(2) 若要將選項的排列方式設定成上圖(b), 所需設定的屬性有: 如果要將排列方式設定成上圖(c),則所 需設定的屬性有: RepeatDirection="Vertical" RepeatColumns=2 RepeatDirection="Horizontal" RepeatColumns=3

練習 將 p.250 練習中的「興趣」欄位由 ListBox 改成 CheckBox 或 CheckBoxList,如下:

圖形核取方塊 (1)

圖形核取方塊 (2) CheckBoxList 並沒有圖形類的屬性,不過我們可以將 CheckBoxList 的選項設定成圖形標示(<Img>),而製作出圖形核取方塊。以上圖為例,6 個圖檔為 g01.gif~g06.gif,如果使用 CheckBoxList 完成此一佈置,則所撰寫的標示如下:

圖形核取方塊 (3) <asp:CheckBoxList runat="server" id="Office" RepeatDirection="Horizontal" RepeatColumns="3"> <asp:ListItem><Img Src="g01.gif" align="middle"></asp:ListItem> <asp:ListItem><Img Src="g02.gif" align="middle"></asp:ListItem> <asp:ListItem><Img Src="g03.gif" align="middle"></asp:ListItem> <asp:ListItem><Img Src="g04.gif" align="middle"></asp:ListItem> <asp:ListItem><Img Src="g05.gif" align="middle"></asp:ListItem> <asp:ListItem><Img Src="g06.gif" align="middle"></asp:ListItem> </asp:CheckBoxList>

利用 Value 屬性隱含文字 雖然可以輕易地佈置圖形的核取方塊,但當程式讀取選項的內容時,所讀取的也是圖形標示 <Img …>,不是單純的文字。 舉例來說,在選取 (g01.gif)這個圖形選項之後,讀取到的內容為 <Img Src=“g01.gif” align=“middle”>,如果說我們希望讀取的內容為 “椅子”,那麼就必須利用到 Value 屬性。

實例 寫一含有圖形核取方塊的網頁供上網者選取資料,選取資料之後,以文字來顯示上網者所選取的內容,如下圖。

GCheck.aspx (Part I) <Html> <Body BgColor="White"> <Form runat="server">   <asp:CheckBoxList runat="server" id="Office" RepeatDirection="Horizontal" RepeatColumns="3"> <asp:ListItem Value="椅子"> <Img Src="g01.gif" align="middle"></asp:ListItem> <asp:ListItem Value="活動櫃"> <Img Src="g02.gif" align="middle"></asp:ListItem> <asp:ListItem Value="螢幕"> <Img Src="g03.gif" align="middle"></asp:ListItem> <asp:ListItem Value="計算機">

GCheck.aspx (Part II) <Img Src="g04.gif" align="middle"></asp:ListItem> <asp:ListItem Value="電話"> <Img Src="g05.gif" align="middle"></asp:ListItem> <asp:ListItem Value="釘書機"> <Img Src="g06.gif" align="middle"></asp:ListItem> </asp:CheckBoxList><p>   <asp:Button runat="server" Text="選擇" OnClick="Button_Click" /><p> <HR><p> <asp:Label runat="server" id="Msg" /> </Form> </Body> </Html>

GCheck.aspx (Part III) <script Language="VB" runat="server">   Sub Button_Click(sender As Object, e As EventArgs) Dim I Msg.Text = "您選擇了:<UL>" For I = 0 To Office.Items.Count - 1 If Office.Items(I).Selected Then Msg.Text &= "<LI>" & Office.Items(I).Value & "</LI>" End If Next Msg.Text &= "</UL>" End Sub </script>

6-4 選擇鈕(RadioButton)

選擇鈕(RadioButton) 選擇鈕有兩種控制元件 -- RadioButton及RadioButtonList。

使用 RadioButtonList (1) <Asp:RadioButtonList runat="server" id="blood" RepeatDirection="Horizontal" RepeatColumns="4"> <asp:ListItem>A</asp:ListItem> <asp:ListItem>B</asp:ListItem> <asp:ListItem>O</asp:ListItem> <asp:ListItem>AB</asp:ListItem> </asp:RadioButtonList> 出現在 RadioButtonList 之中的選項只能單選,而出現在 CheckBoxList 之中的選項則可以複選。

使用 RadioButtonList (2) 選擇鈕設定為預設的選項,只要在該選項的 <asp:ListItem> 標示中增加 Selected 屬性即可,例如: <Asp:RadioButtonList runat="server" id="blood" RepeatDirection="Horizontal" RepeatColumns="4"> <asp:ListItem Selected>A</asp:ListItem> <asp:ListItem>B</asp:ListItem> <asp:ListItem>O</asp:ListItem> <asp:ListItem>AB</asp:ListItem> </asp:RadioButtonList>

使用 RadioButtonList (3) 欲讀取上網者選擇哪一個選項,方法如下: id.SelectedItem.Text

實例 完成以下網頁:

Radio01.aspx (Part I) <HTML> <BODY BGCOLOR=#FFFFFF> <H3>選擇鈕展示程式<HR></H3>   <Form runat="server"> <Table Border=0> <tr> <td>性別:</td> <td> <asp:RadioButtonList runat="server" id="sex" RepeatDirection="Horizontal" RepeatColumns="2"> <asp:ListItem Selected>男</asp:ListItem> <asp:ListItem>女</asp:ListItem> </asp:RadioButtonList> </td> </tr></Table>

Radio01.aspx (Part II) <Table Border=0> <tr> <td>血型:</td> <td> <asp:RadioButtonList runat="server" id="blood" RepeatDirection="Horizontal" RepeatColumns="4"> <asp:ListItem Selected>A</asp:ListItem> <asp:ListItem>B</asp:ListItem> <asp:ListItem>O</asp:ListItem> <asp:ListItem>AB</asp:ListItem> </asp:RadioButtonList> </td> </tr></Table>

Radio01.aspx (Part III) <p><asp:Button runat="server" Text="輸入" OnClick="Button_Click" /> <HR> <p><asp:Label runat="server" id="Msg" /> </Form> </BODY> </HTML>   <script Language="VB" runat="server"> Sub Button_Click(sender As Object, e As EventArgs) Msg.Text = "您是" & sex.SelectedItem.Text & "性, " Msg.Text &= "血型: " & blood.SelectedItem.Text & "型" End Sub </script>

練習 將 p.257 練習中的「性別」、「血型」、及「已婚」欄位由 ListBox 改成RadioButtonList,如下:

使用 RadioButton (1) 對 RadioButtonList 來說,一個控制元件可以含有多個選項,但是對 RadioButton來說,一個控制元件卻只能含有一個選項。

使用 RadioButton(2) 若使用 RadioButton 來佈置以上的「血型」欄位,所撰寫的標示如下: <asp:RadioButton runat="server" id="blood1" Text="A" GroupName="blood" /> <asp:RadioButton runat="server" id="blood2" Text="B" GroupName="blood" /> <asp:RadioButton runat="server" id="blood3" Text="O" GroupName="blood" /> <asp:RadioButton runat="server" id="blood4" Text="AB" GroupName="blood" />

Radio02.aspx (Part I) <HTML> <BODY BGCOLOR=#FFFFFF> <H3>選擇鈕展示程式<HR></H3>   <Form runat="server"> 性別: <asp:RadioButton runat="server" id="sex1" Text="男" GroupName="sex" /> <asp:RadioButton runat="server" id="sex2" Text="女" GroupName="sex" /> <p> 血型: <asp:RadioButton runat="server" id="blood1" Text="A" GroupName="blood" /> <asp:RadioButton runat="server" id="blood2" Text="B" GroupName="blood" />

Radio02.aspx (Part II) <asp:RadioButton runat="server" id="blood3" Text="O" GroupName="blood" /> <asp:RadioButton runat="server" id="blood4" Text="AB" GroupName="blood" /> <p> <asp:Button runat="server" Text="輸入" OnClick="Button_Click" /> <HR> <p><asp:Label runat="server" id="Msg" /> </Form> </BODY> </HTML>

Radio02.aspx (Part III) <script Language="VB" runat="server">   Sub Button_Click(sender As Object, e As EventArgs) Dim Sex, Blood If sex1.Checked Then Sex = sex1.Text If sex2.Checked Then Sex = sex2.Text If blood1.Checked Then Blood = blood1.Text If blood2.Checked Then Blood = blood2.Text If blood3.Checked Then Blood = blood3.Text If blood4.Checked Then Blood = blood4.Text Msg.Text = "您是" & Sex & "性, " Msg.Text &= "血型: " & Blood & "型" End Sub </script>