版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第4章章 ASP.NET服務(wù)器控件和客戶端腳本服務(wù)器控件和客戶端腳本4.1 控件概述控件概述4.2 HTML服務(wù)器控件服務(wù)器控件4.3 標(biāo)準(zhǔn)控件標(biāo)準(zhǔn)控件4.4 驗(yàn)證控件驗(yàn)證控件4.5 用戶控件與自定義服務(wù)器控件用戶控件與自定義服務(wù)器控件4.6 用用JavaScript處理頁(yè)面和服務(wù)器控件處理頁(yè)面和服務(wù)器控件4.7 客戶端回調(diào)客戶端回調(diào)4.8 文件的上傳和郵件發(fā)送文件的上傳和郵件發(fā)送4.9 綜合應(yīng)用綜合應(yīng)用4.1 控件概述控件概述ASP.NET提供了兩種不同類型的控件:提供了兩種不同類型的控件:l HTML服務(wù)器控件服務(wù)器控件l Web服務(wù)器控件服務(wù)器控件區(qū)別:區(qū)別: (1) HTML服務(wù)器控
2、件默認(rèn)不會(huì)在服務(wù)器端運(yùn)行,直接轉(zhuǎn)化為服務(wù)器控件默認(rèn)不會(huì)在服務(wù)器端運(yùn)行,直接轉(zhuǎn)化為HTML標(biāo)簽,由瀏覽器顯示,如果需要服務(wù)器執(zhí)行需要指定。標(biāo)簽,由瀏覽器顯示,如果需要服務(wù)器執(zhí)行需要指定。 (2) Web服務(wù)器控件由服務(wù)器端的編譯運(yùn)行然后轉(zhuǎn)換為服務(wù)器控件由服務(wù)器端的編譯運(yùn)行然后轉(zhuǎn)換為HTML發(fā)發(fā)送給瀏覽器。送給瀏覽器。 此外,此外, ASP.NET還提供了驗(yàn)證控件,用于檢查用戶的輸入。用還提供了驗(yàn)證控件,用于檢查用戶的輸入。用戶也可以自定義控件。戶也可以自定義控件。4.2 HTML服務(wù)器控件服務(wù)器控件4.2.1 HTML服務(wù)器控件的層次結(jié)構(gòu)服務(wù)器控件的層次結(jié)構(gòu)HTML服務(wù)器控件位于名稱空間服務(wù)器控
3、件位于名稱空間System.Web.UI.HtmlControls。圖。圖4.1顯示了顯示了HTML服務(wù)器控件的層次結(jié)構(gòu)。服務(wù)器控件的層次結(jié)構(gòu)。圖圖4.1 HTML 服務(wù)器控件的層次結(jié)構(gòu)服務(wù)器控件的層次結(jié)構(gòu)4.2.2 HTML服務(wù)器控件的基本語(yǔ)法服務(wù)器控件的基本語(yǔ)法定義定義 HTML 服務(wù)器控件的基本語(yǔ)法格式如下:服務(wù)器控件的基本語(yǔ)法格式如下:HTML服務(wù)器控件是由服務(wù)器控件是由HTML標(biāo)記所衍生出來(lái)的新功能,在所有的標(biāo)記所衍生出來(lái)的新功能,在所有的HTML服務(wù)器控件的語(yǔ)法中,最前端是服務(wù)器控件的語(yǔ)法中,最前端是HTML標(biāo)記,不同控件所用的標(biāo)標(biāo)記,不同控件所用的標(biāo)記不同;記不同;Runat =
4、“Server”表示控件將會(huì)在服務(wù)器端執(zhí)行表示控件將會(huì)在服務(wù)器端執(zhí)行;Id用來(lái)設(shè)用來(lái)設(shè)置控件的名稱,在同一程序中各控件的置控件的名稱,在同一程序中各控件的Id均不相同,均不相同,Id屬性允許以編程屬性允許以編程方式引用該控件。方式引用該控件。表表4.1列舉了列舉了HTML服務(wù)器控件與服務(wù)器控件與HTML標(biāo)記的對(duì)應(yīng)表示,并標(biāo)示出標(biāo)記的對(duì)應(yīng)表示,并標(biāo)示出它們所屬的類別。它們所屬的類別。4.2.4 HTML服務(wù)器控件的應(yīng)用服務(wù)器控件的應(yīng)用服務(wù)器不會(huì)處理普通的服務(wù)器不會(huì)處理普通的HTML控件,它們將直接被發(fā)送到客戶端,控件,它們將直接被發(fā)送到客戶端,由瀏覽器進(jìn)行顯示。由瀏覽器進(jìn)行顯示。HTML控件集成
5、在控件集成在Visual Studio2008的的【工具箱工具箱】的的【HTML】選項(xiàng)卡中,如圖選項(xiàng)卡中,如圖4.2所示。所示。如果要讓如果要讓HTML控件能在服務(wù)器端被處理,控件能在服務(wù)器端被處理,就要將它們轉(zhuǎn)換為就要將它們轉(zhuǎn)換為HTML服務(wù)器控件。將普通服務(wù)器控件。將普通HTML控件轉(zhuǎn)換為控件轉(zhuǎn)換為HTML服務(wù)器控件,需添加服務(wù)器控件,需添加runat=“server”屬性。屬性。為其添加為其添加runat屬性,將它轉(zhuǎn)換為屬性,將它轉(zhuǎn)換為HTML服務(wù)服務(wù)器控件,如下所示:器控件,如下所示:圖圖4.2 HTML控件控件4.2.4 HTML服務(wù)器控件的應(yīng)用服務(wù)器控件的應(yīng)用【例例4.1】 使用使
6、用HTML服務(wù)器控件完成一個(gè)表單,實(shí)現(xiàn)簡(jiǎn)單的用戶服務(wù)器控件完成一個(gè)表單,實(shí)現(xiàn)簡(jiǎn)單的用戶登錄和提交留言。服務(wù)器端編程獲取用戶所填寫的內(nèi)容并輸出。登錄和提交留言。服務(wù)器端編程獲取用戶所填寫的內(nèi)容并輸出。頁(yè)面設(shè)計(jì):頁(yè)面中放置兩個(gè)文本框(頁(yè)面設(shè)計(jì):頁(yè)面中放置兩個(gè)文本框(User(ID值值)用于輸入用戶名、用于輸入用戶名、Password用于輸入密碼),兩個(gè)多行文本框(用于輸入密碼),兩個(gè)多行文本框(messeage用于顯示登錄或用于顯示登錄或留言信息、留言信息、comment用于輸入留言信息),兩個(gè)按鈕(用于輸入留言信息),兩個(gè)按鈕(BtnLogin表示登表示登錄單擊的錄單擊的“確定確定”、BtnOK
7、表示發(fā)表留言的表示發(fā)表留言的“提交提交”)。)。圖圖4.3 example4-1的界面的界面4.2.4 HTML服務(wù)器控件的應(yīng)用服務(wù)器控件的應(yīng)用按鈕按鈕BtnLogin的單擊事件的單擊事件BtnLogin_ServerClick用于判斷用戶是否用于判斷用戶是否輸入正確的用戶名和密碼。如果正確登錄,則在多行文本框輸入正確的用戶名和密碼。如果正確登錄,則在多行文本框message中中顯示顯示“成功登錄系統(tǒng)成功登錄系統(tǒng)”,否則顯示,否則顯示“用戶名或密碼錯(cuò)誤用戶名或密碼錯(cuò)誤”。按鈕。按鈕BtnOK的服務(wù)器端單擊事件為的服務(wù)器端單擊事件為BtnOK_ServerClick,用來(lái)接受多行文本框,用來(lái)接受
8、多行文本框comment的信息,并顯示在的信息,并顯示在message中。程序運(yùn)行結(jié)果如圖中。程序運(yùn)行結(jié)果如圖4.4所示。所示。 圖圖4.4 例例4.1運(yùn)行結(jié)果運(yùn)行結(jié)果命令按鈕的命令按鈕的HTML代碼:代碼: 命令按鈕的后臺(tái)代碼:命令按鈕的后臺(tái)代碼:protected void BtnLogin_onclick(object sender, EventArgs e) if (txtName.Value = aaa) & (txtpwd.Value = 123456) comment.Disabled = false; BtnLogin.Disabled = false; message
9、.Value = 成功登錄系統(tǒng)成功登錄系統(tǒng) ; else message.Value = 用戶名或密碼錯(cuò)誤用戶名或密碼錯(cuò)誤; 提交按鈕的后臺(tái)代碼:提交按鈕的后臺(tái)代碼: protected void BtnOK_onclick(object sender, EventArgs e) message.Value = 您的留言時(shí):您的留言時(shí):+comment.Value; 4.3 標(biāo)準(zhǔn)控件標(biāo)準(zhǔn)控件在在Visual Studio 2008的的【工具箱工具箱】中,只有中,只有HTML選項(xiàng)卡中的控件選項(xiàng)卡中的控件是瀏覽器端控件,其他各種控件都是服務(wù)器控件。其中是瀏覽器端控件,其他各種控件都是服務(wù)器控件。其
10、中【標(biāo)準(zhǔn)標(biāo)準(zhǔn)】選項(xiàng)卡選項(xiàng)卡中的控件是較常用的控件。在類庫(kù)中,所有的網(wǎng)頁(yè)控件都是從中的控件是較常用的控件。在類庫(kù)中,所有的網(wǎng)頁(yè)控件都是從System.Web.UI.Control.WebControls直接或間接派生而來(lái)的。直接或間接派生而來(lái)的。圖圖4.5 Web服務(wù)器控件的層次結(jié)構(gòu)服務(wù)器控件的層次結(jié)構(gòu)4.3 標(biāo)準(zhǔn)控件標(biāo)準(zhǔn)控件h 1服務(wù)器控件的基本語(yǔ)法服務(wù)器控件的基本語(yǔ)法ASP.NET服務(wù)器控件的基本語(yǔ)法格式如下:服務(wù)器控件的基本語(yǔ)法格式如下: 控件標(biāo)簽以控件標(biāo)簽以asp:開頭,這是開頭,這是Web服務(wù)器控件的標(biāo)記前綴??丶愋头?wù)器控件的標(biāo)記前綴??丶愋兔麨榭丶念愋突蝾悾缑麨榭丶念愋突?/p>
11、類,如TextBox、。、。runat 說明控件在服務(wù)器端運(yùn)行。說明控件在服務(wù)器端運(yùn)行。需要明確的是,一般情況下,標(biāo)簽是成對(duì)出現(xiàn)的,但若此標(biāo)簽僅占需要明確的是,一般情況下,標(biāo)簽是成對(duì)出現(xiàn)的,但若此標(biāo)簽僅占一行,也可在標(biāo)簽最后加一個(gè)一行,也可在標(biāo)簽最后加一個(gè)“/”作為結(jié)束。作為結(jié)束。許多許多Web服務(wù)器控件可以在起始和結(jié)束標(biāo)簽之間使用內(nèi)部服務(wù)器控件可以在起始和結(jié)束標(biāo)簽之間使用內(nèi)部HTML。例如,下面的關(guān)于某個(gè)例如,下面的關(guān)于某個(gè)TextBox控件的兩種不同的寫法是等價(jià)的:控件的兩種不同的寫法是等價(jià)的:請(qǐng)輸入姓名請(qǐng)輸入姓名: 4.3 標(biāo)準(zhǔn)控件標(biāo)準(zhǔn)控件圖圖4.6是一個(gè)注冊(cè)表單的界面,下面將以此為例展
12、開是一個(gè)注冊(cè)表單的界面,下面將以此為例展開Web服務(wù)器標(biāo)準(zhǔn)控件服務(wù)器標(biāo)準(zhǔn)控件的介紹。的介紹。圖圖4.6 注冊(cè)表單注冊(cè)表單4.3.1 輸入與顯示控件輸入與顯示控件h 1TextBox控件控件TextBox控件是用得最多的控件之一,該控件顯示為文本框,可以控件是用得最多的控件之一,該控件顯示為文本框,可以用來(lái)顯示數(shù)據(jù)或者輸入數(shù)據(jù)。用來(lái)顯示數(shù)據(jù)或者輸入數(shù)據(jù)。TextBox控件定義的語(yǔ)法示例如下:控件定義的語(yǔ)法示例如下:此行代碼提供給用戶一個(gè)輸入密碼的文本框,效果如圖此行代碼提供給用戶一個(gè)輸入密碼的文本框,效果如圖4.6所示。所示。屬性屬性/事件事件/方法方法說說 明明AutoPostBack指示在輸
13、入信息時(shí),數(shù)據(jù)是否實(shí)時(shí)自動(dòng)回發(fā)到服務(wù)指示在輸入信息時(shí),數(shù)據(jù)是否實(shí)時(shí)自動(dòng)回發(fā)到服務(wù)器器MaxLength文本框中最多允許的字符數(shù)文本框中最多允許的字符數(shù)ReadOnly指示能否更改指示能否更改 TextBox 控件的內(nèi)容控件的內(nèi)容Rows多行文本框中顯示的行數(shù)多行文本框中顯示的行數(shù)TextTextBox 控件的文本內(nèi)容控件的文本內(nèi)容TextModeTextBox 控件的行為模式(單行、多行或密碼)控件的行為模式(單行、多行或密碼)Wrap指示多行文本框內(nèi)的文本內(nèi)容是否換行指示多行文本框內(nèi)的文本內(nèi)容是否換行TextChanged文本框的內(nèi)容改變時(shí)發(fā)生的事件文本框的內(nèi)容改變時(shí)發(fā)生的事件Focus (
14、)使光標(biāo)置于文本框中的方法使光標(biāo)置于文本框中的方法表表4.5 TextBox控件的常用屬性、事件和方法控件的常用屬性、事件和方法4.3.1 輸入與顯示控件輸入與顯示控件其中有一個(gè)重要的屬性:其中有一個(gè)重要的屬性:TextMode。該屬性包括三個(gè)選項(xiàng)。該屬性包括三個(gè)選項(xiàng)。(1)SingleLine:?jiǎn)涡芯庉嬁?。:?jiǎn)涡芯庉嬁?。?)MultiLine:帶滾動(dòng)條的多行文本框。:帶滾動(dòng)條的多行文本框。(3)PassWord:密碼輸入框,所有輸入字符都用特殊字符(例:密碼輸入框,所有輸入字符都用特殊字符(例如如“*”)來(lái)顯示。)來(lái)顯示。4.3.1 輸入與顯示控件輸入與顯示控件h 2Label控件控件La
15、bel 控件用于在控件用于在Web頁(yè)面上顯示文本。其控件定義的語(yǔ)法示例如頁(yè)面上顯示文本。其控件定義的語(yǔ)法示例如下:下:除了具體表除了具體表4.3所示的所示的Web控件標(biāo)準(zhǔn)屬性外,控件標(biāo)準(zhǔn)屬性外,Label控件還有幾個(gè)??丶€有幾個(gè)常用屬性,如表用屬性,如表4.6所示。所示。屬性屬性說說 明明runat規(guī)定該控件是一個(gè)服務(wù)器控件。必須設(shè)置規(guī)定該控件是一個(gè)服務(wù)器控件。必須設(shè)置為為 serverText在在 label 中顯示的文本中顯示的文本 AccessKey指定熱鍵的按鍵指定熱鍵的按鍵 AssociatedControlID將將Label控件與窗體中另一個(gè)服務(wù)器控件關(guān)控件與窗體中另一個(gè)服務(wù)器控
16、件關(guān)聯(lián)起來(lái)聯(lián)起來(lái)表表4.6 Label控件的常用屬性控件的常用屬性4.3.1 輸入與顯示控件輸入與顯示控件可以利用可以利用Label控件屬性控件屬性AssociatedControlID和和AccessKey為窗體中為窗體中的其他控件添加熱鍵。的其他控件添加熱鍵。例如:例如:Username當(dāng)鼠標(biāo)單擊當(dāng)鼠標(biāo)單擊Label控件時(shí)或按下控件時(shí)或按下Alt+N組合鍵,焦點(diǎn)將跳到組合鍵,焦點(diǎn)將跳到TextBox1上,自動(dòng)激活了與之關(guān)聯(lián)的文本框。上,自動(dòng)激活了與之關(guān)聯(lián)的文本框。 圖圖4.7 利用利用Label添加熱鍵添加熱鍵4.3.1 輸入與顯示控件輸入與顯示控件h 3Literal控件控件Litera
17、l控件的工作方式類似于控件的工作方式類似于Label控件。用于在瀏覽器上顯示在整控件。用于在瀏覽器上顯示在整個(gè)過程中不發(fā)生變化的文本。其控件定義的語(yǔ)法示例如下:個(gè)過程中不發(fā)生變化的文本。其控件定義的語(yǔ)法示例如下:表表4.7列出了列出了Literal控件的常用屬性。控件的常用屬性。屬屬 性性說說 明明Runat規(guī)定該控件是一個(gè)服務(wù)器控件。規(guī)定該控件是一個(gè)服務(wù)器控件。必須設(shè)置為必須設(shè)置為 serverText規(guī)定要顯示的文本規(guī)定要顯示的文本 Mode指定控件對(duì)所添加的標(biāo)記的處理指定控件對(duì)所添加的標(biāo)記的處理方式方式表表4.7 Literal控件的常用屬性控件的常用屬性4.3.1 輸入與顯示控件輸入與
18、顯示控件Literal 控件支持控件支持 Mode 屬性,該屬性用于指定控件對(duì)所添加的標(biāo)屬性,該屬性用于指定控件對(duì)所添加的標(biāo)記的處理方式??梢詫⒂浀奶幚矸绞健?梢詫?Mode 屬性設(shè)置為以下值。屬性設(shè)置為以下值。(1)Transform:添加到控件中的任何標(biāo)記都將進(jìn)行轉(zhuǎn)換,以適:添加到控件中的任何標(biāo)記都將進(jìn)行轉(zhuǎn)換,以適應(yīng)請(qǐng)求瀏覽器的協(xié)議。應(yīng)請(qǐng)求瀏覽器的協(xié)議。(2)PassThrough:添加到控件中的任何標(biāo)記都將按原樣呈現(xiàn)在:添加到控件中的任何標(biāo)記都將按原樣呈現(xiàn)在瀏覽器中。瀏覽器中。 (3)Encode:添加到控件中的任何標(biāo)記都將使用:添加到控件中的任何標(biāo)記都將使用 HtmlEncode 方方
19、法進(jìn)行編碼,該方法將把法進(jìn)行編碼,該方法將把 HTML 編碼轉(zhuǎn)換為其文本表示形式。編碼轉(zhuǎn)換為其文本表示形式。例如:例如:asp:Literal ID=Literal1runat=ServerMode=EncodeText=新用戶注冊(cè)!新用戶注冊(cè)!瀏覽器中會(huì)顯示瀏覽器中會(huì)顯示“歡迎注冊(cè)!歡迎注冊(cè)!”。4.3.2 按鈕控件按鈕控件中設(shè)置了三種按鈕:中設(shè)置了三種按鈕:Button、LinkButton和和ImageButton。當(dāng)用戶單擊這三種類型按鈕中的任何一種時(shí),都會(huì)向服務(wù)器提交一當(dāng)用戶單擊這三種類型按鈕中的任何一種時(shí),都會(huì)向服務(wù)器提交一個(gè)窗體,當(dāng)前頁(yè)被提交給服務(wù)器并在那里進(jìn)行處理,可為下列事件
20、之一個(gè)窗體,當(dāng)前頁(yè)被提交給服務(wù)器并在那里進(jìn)行處理,可為下列事件之一創(chuàng)建事件處理程序。創(chuàng)建事件處理程序。(1)Page_load事件:因?yàn)榘粹o總是將頁(yè)提交給服務(wù)器,所以該方事件:因?yàn)榘粹o總是將頁(yè)提交給服務(wù)器,所以該方法總是在運(yùn)行。倘若只是要提交相應(yīng)窗體,并不關(guān)心單擊的是哪個(gè)按鈕,法總是在運(yùn)行。倘若只是要提交相應(yīng)窗體,并不關(guān)心單擊的是哪個(gè)按鈕,則使用頁(yè)的則使用頁(yè)的Page_load事件。事件。(2)Click事件:如果需要知道具體單擊的是哪個(gè)按鈕,則編寫對(duì)事件:如果需要知道具體單擊的是哪個(gè)按鈕,則編寫對(duì)應(yīng)按鈕的應(yīng)按鈕的Click事件處理程序。事件處理程序。4.3.2 按鈕控件按鈕控件屬性/事件/方
21、法說 明BackColor獲取或設(shè)置背景色BordorColor獲取或設(shè)置邊框顏色CommandArgument獲取或設(shè)置可選參數(shù),該參數(shù)與CommandName一起傳遞到Command事件Text獲取或設(shè)置在Button控件中顯示的文本標(biāo)題Click在單擊Button控件時(shí)發(fā)生的服務(wù)器端事件表表4.8 Button控件的常用屬性、事件和方法控件的常用屬性、事件和方法1Button控件控件 Button控件是Web窗體中的常見控件。 Button控件定義的語(yǔ)法示例如下: 4.3.2 按鈕控件按鈕控件(1)Click事件:在單擊事件:在單擊Button控件時(shí)發(fā)生。在開發(fā)過程中,雙擊控件時(shí)發(fā)生。在
22、開發(fā)過程中,雙擊Button按鈕,便可為其自動(dòng)產(chǎn)生事件觸發(fā)函數(shù)。以下是代碼示例:按鈕,便可為其自動(dòng)產(chǎn)生事件觸發(fā)函數(shù)。以下是代碼示例:protected void Button1_Click(object sender, EventArgs e) Response.Write (注冊(cè)成功,歡迎您!注冊(cè)成功,歡迎您!);4.3.2 按鈕控件按鈕控件h 2LinkButton控件控件LinkButton控件定義的語(yǔ)法示例如下:控件定義的語(yǔ)法示例如下:退出退出上面的代碼定義了一個(gè)用于退出的超鏈接按鈕。上面的代碼定義了一個(gè)用于退出的超鏈接按鈕。LinkButton對(duì)象的對(duì)象的成員與成員與Button對(duì)象
23、非常相似。對(duì)象非常相似??梢詾樯厦娑x的可以為上面定義的LinkButton1添加如下事件代碼:添加如下事件代碼:protected void LinkButton1_Click(object sender, EventArgs e)Response.Write (謝謝訪問,下次再來(lái)哦,謝謝訪問,下次再來(lái)哦,88!);Response.End( );4.3.2 按鈕控件按鈕控件h 3ImageButton控件控件LinkButton控件定義的語(yǔ)法示例如下:控件定義的語(yǔ)法示例如下:上面的代碼定義了一個(gè)用于重置的按鈕上面的代碼定義了一個(gè)用于重置的按鈕 。表表4.9列出了列出了ImageButton
24、控件的常用屬性、事件和方法??丶某S脤傩?、事件和方法。4.3.2 按鈕控件按鈕控件屬性/事件/方法說 明AlternateText獲取或設(shè)置當(dāng)圖像不可用時(shí),控件中顯示的替換文本BackColor獲取或設(shè)置背景色BordorColor獲取或設(shè)置邊框顏色CommandArgument獲取或設(shè)置可選參數(shù),該參數(shù)與CommandName一起傳遞到Command事件ImageAlign獲取或設(shè)置ImageButton控件相對(duì)于網(wǎng)頁(yè)上其他元素的對(duì)齊方式ImageUrl獲取或設(shè)置在ImageButton 控件中顯示的圖像的位置Click在單擊ImageButton控件時(shí)發(fā)生的服務(wù)器端事件PostBackU
25、rl獲取或設(shè)置單擊ImageButton時(shí)從當(dāng)前頁(yè)發(fā)送到的網(wǎng)頁(yè)的URL。默認(rèn)為空,即本頁(yè)表表4.9 ImageButton控件的常用屬性、事件和方法控件的常用屬性、事件和方法4.3.3 選擇和列表控件選擇和列表控件h 1RadioButton控件控件RadioButton控件表現(xiàn)為控件表現(xiàn)為Web頁(yè)面上的單選按鈕。它允許用戶選擇頁(yè)面上的單選按鈕。它允許用戶選擇true狀態(tài)或狀態(tài)或false狀態(tài),但是只能選擇其一。窗體上的一個(gè)單選按鈕沒有狀態(tài),但是只能選擇其一。窗體上的一個(gè)單選按鈕沒有什么意義,在使用時(shí)通常有兩個(gè)以上的什么意義,在使用時(shí)通常有兩個(gè)以上的RadioButton控件組成一組,以控件組
26、成一組,以提供互相排斥的選項(xiàng)。提供互相排斥的選項(xiàng)。頁(yè)面上的一組頁(yè)面上的一組RadioButton控件可以定義如下:控件可以定義如下:表表4.10 RadioButton控件的常用屬性和事件控件的常用屬性和事件屬性屬性/事件事件說說 明明Checked布爾值,規(guī)定是否選定單選按鈕布爾值,規(guī)定是否選定單選按鈕AutoPostBack布爾值,規(guī)定在布爾值,規(guī)定在 Checked 屬性被改變后,是屬性被改變后,是否立即回傳表單。默認(rèn)是否立即回傳表單。默認(rèn)是 falseGroupName該單選按鈕所屬控件組的名稱該單選按鈕所屬控件組的名稱CheckedChanged當(dāng)當(dāng) Checked 被改變時(shí),被執(zhí)行
27、的函數(shù)的名稱被改變時(shí),被執(zhí)行的函數(shù)的名稱Text單選按鈕旁邊的文本單選按鈕旁邊的文本TextAlign文本應(yīng)出現(xiàn)在單選按鈕的哪一側(cè)(左側(cè)還是右文本應(yīng)出現(xiàn)在單選按鈕的哪一側(cè)(左側(cè)還是右側(cè))側(cè))4.3.3 選擇和列表控件選擇和列表控件(1)如果無(wú)須直接對(duì)控件的選擇事件進(jìn)行響應(yīng),而只關(guān)心單選按)如果無(wú)須直接對(duì)控件的選擇事件進(jìn)行響應(yīng),而只關(guān)心單選按鈕的狀態(tài),那么可以在窗體發(fā)送到服務(wù)器后測(cè)試單選按鈕,判斷鈕的狀態(tài),那么可以在窗體發(fā)送到服務(wù)器后測(cè)試單選按鈕,判斷RadioButton控件的控件的Checked屬性,若為屬性,若為Ture,則表示單選按鈕已選定。,則表示單選按鈕已選定。(2)如果需要立即響應(yīng)
28、用戶更改控件狀態(tài)的事件,那么要為控件)如果需要立即響應(yīng)用戶更改控件狀態(tài)的事件,那么要為控件的的CheckedChanged事件創(chuàng)建一個(gè)事件處理程序。默認(rèn)情況下,事件創(chuàng)建一個(gè)事件處理程序。默認(rèn)情況下,CheckedChanged事件并不馬上導(dǎo)致向服務(wù)器發(fā)送頁(yè)事件并不馬上導(dǎo)致向服務(wù)器發(fā)送頁(yè),若要使若要使CheckedChanged事件即時(shí)發(fā)送,必須將事件即時(shí)發(fā)送,必須將RadioButton控件的控件的AutoPostBack屬性設(shè)置為屬性設(shè)置為True。4.3.3 選擇和列表控件選擇和列表控件圖圖4.8RadioButton控件示例控件示例【例例4.2】 RadioButton控件的控件的Che
29、cked屬性和屬性和CheckedChanged事事件。件。 頁(yè)面設(shè)計(jì):頁(yè)面中放置兩個(gè)頁(yè)面設(shè)計(jì):頁(yè)面中放置兩個(gè)RadioButton控件。它們的控件。它們的GroupName屬性相同,表明它們是一組的。被選中的按鈕的屬性相同,表明它們是一組的。被選中的按鈕的Checked屬性為屬性為True,因?yàn)樵O(shè)置了,因?yàn)樵O(shè)置了AutoPostBack為為Ture,單選按鈕,單選按鈕的狀態(tài)改變會(huì)即時(shí)回傳,觸發(fā)按鈕組的的狀態(tài)改變會(huì)即時(shí)回傳,觸發(fā)按鈕組的CheckedChanged事件。事件。protected void RadioButton_CheckedChanged(object sender, Eve
30、ntArgs e) if (RadioButton1.Checked) Label1.Text = 你是男生; else Label1.Text = 你是女生; 在后臺(tái)編寫如下方法,將兩個(gè)單選按鈕的在后臺(tái)編寫如下方法,將兩個(gè)單選按鈕的CheckedChanged事事件都注冊(cè)到該方法上:件都注冊(cè)到該方法上:4.3.3 選擇和列表控件選擇和列表控件h 2RadioButtonList控件控件雖然多個(gè)雖然多個(gè)RadioButton控件也可以組成單選按鈕組以實(shí)現(xiàn)互斥選擇,控件也可以組成單選按鈕組以實(shí)現(xiàn)互斥選擇,但有多個(gè)選項(xiàng)供用戶進(jìn)行選擇時(shí),使用但有多個(gè)選項(xiàng)供用戶進(jìn)行選擇時(shí),使用RadioButtonL
31、ist控件更加方便??丶臃奖恪adioButtonList控件定義示例如下,控件定義示例如下, 男男 女女 保密保密4.3.3 選擇和列表控件選擇和列表控件表表4.11列出了列出了RadioButtonList控件的常用屬性和事件??丶某S脤傩院褪录?。屬性屬性/事件事件說說 明明DataMemberDataSource中要綁定的表名中要綁定的表名DataSource填充該列表的列表項(xiàng)的數(shù)據(jù)源填充該列表的列表項(xiàng)的數(shù)據(jù)源Items獲得列表控件中的項(xiàng)目集合獲得列表控件中的項(xiàng)目集合RepeatColumns獲得或設(shè)置控件中要顯示的列數(shù)獲得或設(shè)置控件中要顯示的列數(shù)RepeatDirection獲
32、得或設(shè)置一個(gè)指示該控件垂直顯示還是水平獲得或設(shè)置一個(gè)指示該控件垂直顯示還是水平顯示的值顯示的值SelectedIndex獲得或設(shè)置列表中第一個(gè)被選項(xiàng)的索引即索引獲得或設(shè)置列表中第一個(gè)被選項(xiàng)的索引即索引最小的項(xiàng)最小的項(xiàng)SelectedItem獲得第一個(gè)被選項(xiàng)獲得第一個(gè)被選項(xiàng)SelectedValue獲得第一個(gè)被選項(xiàng)的值獲得第一個(gè)被選項(xiàng)的值TextAlign獲得或設(shè)置單選按鈕的文本對(duì)齊方式獲得或設(shè)置單選按鈕的文本對(duì)齊方式SelectedIndexChanged當(dāng)在當(dāng)在RadioButtonList中改變選擇時(shí)觸發(fā)的事件中改變選擇時(shí)觸發(fā)的事件表表4.11 RadioButtonList控件的常用屬性
33、和事件控件的常用屬性和事件4.3.3 選擇和列表控件選擇和列表控件RadioButtonList控件的控件的Items集合的成員和列表中的每一項(xiàng)對(duì)應(yīng),集合的成員和列表中的每一項(xiàng)對(duì)應(yīng),要確定選中了哪些項(xiàng),應(yīng)測(cè)試每項(xiàng)的要確定選中了哪些項(xiàng),應(yīng)測(cè)試每項(xiàng)的Selected屬性。屬性。ListItem的基本屬性的基本屬性如表如表4.12所示。所示。屬性屬性/事件事件說說 明明Text每個(gè)選項(xiàng)的文本每個(gè)選項(xiàng)的文本Value每個(gè)選項(xiàng)的值每個(gè)選項(xiàng)的值Selected選項(xiàng)的狀態(tài),選項(xiàng)的狀態(tài),Ture表示默認(rèn)選中表示默認(rèn)選中表表4.12 ListItem的基本屬性的基本屬性如何向如何向RadioButtonList
34、控件中添加項(xiàng)?控件中添加項(xiàng)?使用界面的方式使用界面的方式 選擇控件,單擊右鍵,選擇屬性,在屬性對(duì)話框中選擇選擇控件,單擊右鍵,選擇屬性,在屬性對(duì)話框中選擇Items,點(diǎn)擊,在,點(diǎn)擊,在ListItem集合編輯器中添加項(xiàng)。集合編輯器中添加項(xiàng)。(2) 編程實(shí)現(xiàn):編程實(shí)現(xiàn): protected void Page_Load(object sender, EventArgs e) this.RadioButtonList1.Items.Add(男男); this.RadioButtonList1.Items.Add(女女); this.RadioButtonList1.Items.Add(保密保密);
35、 4.3.3 選擇和列表控件選擇和列表控件h 3CheckBox控件控件CheckBox控件定義示例如下:控件定義示例如下:表表4.13列出了列出了CheckBox控件的常用屬性和事件??丶某S脤傩院褪录?。屬性屬性/事件事件說明說明Checked布爾值,規(guī)定是否選定單選按鈕布爾值,規(guī)定是否選定單選按鈕AutoPostBack布爾值,規(guī)定在布爾值,規(guī)定在 Checked 屬性被改變后,是否屬性被改變后,是否立即回傳表單。默認(rèn)是立即回傳表單。默認(rèn)是 falseCheckedChanged當(dāng)當(dāng) Checked 被改變時(shí),被執(zhí)行的函數(shù)的名稱被改變時(shí),被執(zhí)行的函數(shù)的名稱TextCheckBox控件旁邊
36、的文本控件旁邊的文本TextAlign文本應(yīng)出現(xiàn)在文本應(yīng)出現(xiàn)在CheckBox的哪一側(cè)(左側(cè)還是的哪一側(cè)(左側(cè)還是右側(cè))右側(cè))表表4.13CheckBox控件的常用屬性和事件控件的常用屬性和事件4.3.3 選擇和列表控件選擇和列表控件h 4CheckBoxList控件控件CheckBoxList控件定義如下:控件定義如下:琴琴棋棋 書書 畫畫4.3.3 選擇和列表控件選擇和列表控件【例例4.3】 CheckBoxList控件的控件的SelectedIndexChanged事件。事件。頁(yè)面設(shè)計(jì):拖放一個(gè)頁(yè)面設(shè)計(jì):拖放一個(gè)CheckBoxList控件到頁(yè)面上,在它的控件到頁(yè)面上,在它的“智能標(biāo)記智
37、能標(biāo)記”上上選擇選擇“編輯項(xiàng)編輯項(xiàng)”,打開,打開“ListItem集合編輯器集合編輯器”,單擊,單擊“添加添加”,為單選按鈕,為單選按鈕列表添加幾個(gè)選項(xiàng),分別輸入列表添加幾個(gè)選項(xiàng),分別輸入Text、Value和和Selected屬性的值。將該屬性的值。將該CheckBoxList控件的控件的AutoPostBack屬性設(shè)置為屬性設(shè)置為True,同時(shí)定義一個(gè),同時(shí)定義一個(gè)SelectedIndexChanged事件。事件。圖圖4.9 CheckBoxList控件示例控件示例protected void CheckBoxList1_SelectedIndexChanged(object sende
38、r, EventArgs e) int i; string str=你的愛好有:; for (i = 0; i CheckBoxList1.Items.Count; i+) if (CheckBoxList1.Itemsi.Selected) str += CheckBoxList1.Itemsi.Text + ; Label1.Text = str; 4.3.3 選擇和列表控件選擇和列表控件h 5DropDownList控件控件DropDownList控件在控件在Web頁(yè)面上呈現(xiàn)為下拉列表框,它允許用戶頁(yè)面上呈現(xiàn)為下拉列表框,它允許用戶從預(yù)定義的多個(gè)選項(xiàng)中選擇一項(xiàng)。從預(yù)定義的多個(gè)選項(xiàng)中選擇一
39、項(xiàng)。DropDownList控件定義示例如下:控件定義示例如下:您的學(xué)歷:您的學(xué)歷: 博士博士 碩士碩士本科本科4.3.3 選擇和列表控件選擇和列表控件屬性屬性/事件事件說明說明AutoPostBack指示當(dāng)用戶改變選項(xiàng)時(shí)該控件是否應(yīng)當(dāng)自動(dòng)地回發(fā)指示當(dāng)用戶改變選項(xiàng)時(shí)該控件是否應(yīng)當(dāng)自動(dòng)地回發(fā)到服務(wù)器到服務(wù)器DataMemberDataSource中要綁定的表的名稱中要綁定的表的名稱DataSource填充該列表的項(xiàng)目的數(shù)據(jù)源填充該列表的項(xiàng)目的數(shù)據(jù)源DataTextField提供列表的文本的數(shù)據(jù)源字段的名稱提供列表的文本的數(shù)據(jù)源字段的名稱DataValueField提供一個(gè)列表項(xiàng)的值的數(shù)據(jù)源字段的
40、名稱提供一個(gè)列表項(xiàng)的值的數(shù)據(jù)源字段的名稱Items獲得列表控件中的項(xiàng)目集合獲得列表控件中的項(xiàng)目集合SelectedIndex獲得或設(shè)置列表中被選項(xiàng)的索引獲得或設(shè)置列表中被選項(xiàng)的索引SelectedItem獲得列表中的被選項(xiàng)獲得列表中的被選項(xiàng)SelectedValue獲得列表中被選項(xiàng)的值獲得列表中被選項(xiàng)的值SelectedIndexChanged當(dāng)列表控件的選擇項(xiàng)發(fā)生變化時(shí)觸發(fā)當(dāng)列表控件的選擇項(xiàng)發(fā)生變化時(shí)觸發(fā)表表4.14列出了列出了DropDownList控件的常用屬性和事件??丶某S脤傩院褪录?。表表4.14 DropDownList控件的常用屬性和事件控件的常用屬性和事件4.3.3 選擇和列
41、表控件選擇和列表控件【例例4.4】 DropDownList控件的控件的SelectedIndexChanged事件。事件。頁(yè)面設(shè)計(jì):拖放一個(gè)頁(yè)面設(shè)計(jì):拖放一個(gè)DropDownList控件到頁(yè)面上,在它的控件到頁(yè)面上,在它的“智能智能標(biāo)記標(biāo)記”上選擇上選擇“編輯項(xiàng)編輯項(xiàng)”,打開,打開“ListItem集合編輯器集合編輯器”,單擊,單擊“添添加加”,為下拉列表框添加幾個(gè)選項(xiàng),分別輸入,為下拉列表框添加幾個(gè)選項(xiàng),分別輸入Text、Value和和Selected屬屬性的值(見下面代碼中所示)。將該性的值(見下面代碼中所示)。將該DropDownList控件的控件的AutoPostBack屬性設(shè)置為屬
42、性設(shè)置為True,同時(shí)定義一個(gè),同時(shí)定義一個(gè)SelectedIndexChanged事事件。同時(shí)添加兩個(gè)件。同時(shí)添加兩個(gè)Label控件和一個(gè)控件和一個(gè)TextBox控件,控件,ID為為L(zhǎng)abel1控件的控件的Text屬性設(shè)置為屬性設(shè)置為“密碼提示問題:密碼提示問題:”。ID為為L(zhǎng)abel2控件用于顯示所選擇控件用于顯示所選擇的密碼提示問題,的密碼提示問題,TextBox控件用于輸入答案??丶糜谳斎氪鸢?。圖圖4.10DropDownList控件示例控件示例protected void DropDownList1_SelectedIndexChanged(object sender, Event
43、Args e) switch(DropDownList1.SelectedValue) case 1: Label1.Text = 你母親的生日是:; break; case 2: Label1.Text = 你最喜歡看的書是:; break; case 3: Label1.Text = 你最難忘的日子是:; break; SelectedIndexChanged事件的處理代碼:事件的處理代碼:4.3.3 選擇和列表控件選擇和列表控件h 6ListBox控件控件ListBox控件定義示例如下:控件定義示例如下:身份:身份:已工作已工作 大學(xué)生大學(xué)生 中學(xué)生中學(xué)生/中專技校中專技校 以上都不是以
44、上都不是列表示例列表示例SelectionMode屬性的值4.3.3 選擇和列表控件選擇和列表控件【例例4.5】 ListBox控件的控件的SelectedIndexChanged事件。事件。頁(yè)面設(shè)計(jì):拖放一個(gè)頁(yè)面設(shè)計(jì):拖放一個(gè)ListBox控件到頁(yè)面上,在它的控件到頁(yè)面上,在它的“智能標(biāo)記智能標(biāo)記”上選擇上選擇“編輯項(xiàng)編輯項(xiàng)”,打開,打開“ListItem集合編輯器集合編輯器”,單擊,單擊“添加添加”,為下拉列表框添加幾個(gè)選項(xiàng),分別輸入為下拉列表框添加幾個(gè)選項(xiàng),分別輸入Text、Value和和Selected屬性屬性的值。將該的值。將該ListBox控件的控件的AutoPostBack屬性設(shè)
45、置為屬性設(shè)置為True,同時(shí)定義,同時(shí)定義一個(gè)一個(gè)SelectedIndexChanged事件。事件。圖圖4.11 ListBox控件示例控件示例protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e) int i; string str = 您選擇了這些課程:; for (i = 0; i ListBox1.Items.Count; i+) if (ListBox1.Itemsi.Selected) str += ListBox1.Itemsi.Text + ; Label2.Text = str; Se
46、lectedIndexChanged事件的處理代碼:4.3.3 選擇和列表控件選擇和列表控件h 7BulletedList控件控件BulletedList控件用于創(chuàng)建一個(gè)無(wú)序的或有序的項(xiàng)列表,控件用于創(chuàng)建一個(gè)無(wú)序的或有序的項(xiàng)列表,表表4.15列出了列出了BulletedList控件的主要屬性。控件的主要屬性。屬 性說 明AppendDataBoundItems指示在添加數(shù)據(jù)綁定的項(xiàng)目時(shí)應(yīng)當(dāng)保留還是清除靜態(tài)定義的項(xiàng)目BulletImageUrl獲得或設(shè)置到用做項(xiàng)目符號(hào)的圖像的路徑BulletStyle確定項(xiàng)目符號(hào)的樣式DataMemberDataSource中要綁定的表的名稱DataSource
47、用來(lái)填充該列表控件的列表項(xiàng)的數(shù)據(jù)源DataSourceID提供數(shù)據(jù)的數(shù)據(jù)源組件的IDDataTextField提供列表項(xiàng)的文本的數(shù)據(jù)源字段的名稱DataValueField提供列表項(xiàng)的值的數(shù)據(jù)源字段的名稱DisplayMode確定如何顯示列表項(xiàng):純文本、鏈接按鈕或超鏈接FirstBulletNumber獲得或設(shè)置編號(hào)的起始值Items獲得列表控件中的列表項(xiàng)的集合Target指示超鏈接模式下的目標(biāo)框架表4.15 BulletedList控件的屬性4.3.3 選擇和列表控件選擇和列表控件其中的其中的BulletStyle枚舉值如表枚舉值如表4.16所示。所示。枚枚 舉舉 值值說說 明明Circle
48、表示項(xiàng)目符號(hào)編號(hào)樣式設(shè)置為表示項(xiàng)目符號(hào)編號(hào)樣式設(shè)置為“”空圈空圈CustomImage編號(hào)樣式設(shè)置為自定義圖片,圖片由編號(hào)樣式設(shè)置為自定義圖片,圖片由BulletImageUrl屬性指定屬性指定Disc編號(hào)樣式設(shè)置為編號(hào)樣式設(shè)置為“”實(shí)圈實(shí)圈LowerAlpha編號(hào)樣式設(shè)置為小寫字母格式,如編號(hào)樣式設(shè)置為小寫字母格式,如a、b、c、d等等LowerRoman編號(hào)樣式設(shè)置為小寫羅馬數(shù)字格式,如編號(hào)樣式設(shè)置為小寫羅馬數(shù)字格式,如i、ii、iii、iv等等NotSet表示不設(shè)置項(xiàng)目符號(hào)編號(hào)樣式表示不設(shè)置項(xiàng)目符號(hào)編號(hào)樣式Numbered編號(hào)樣式為數(shù)字格式,如編號(hào)樣式為數(shù)字格式,如1、2、3、4等等Sq
49、uare編號(hào)樣式為編號(hào)樣式為“”實(shí)體黑方塊實(shí)體黑方塊UpperAlpha編號(hào)樣式為大寫字母格式,如編號(hào)樣式為大寫字母格式,如A、B、C、D等等UpperRoman編號(hào)樣式為大寫羅馬數(shù)字格式,如編號(hào)樣式為大寫羅馬數(shù)字格式,如I、II、III、IV等等表表4.16 BulletStyle枚舉值列表枚舉值列表4.3.3 選擇和列表控件選擇和列表控件以下是一個(gè)以下是一個(gè)BulletedList控件的定義示例:控件的定義示例:第一項(xiàng)第一項(xiàng)第二項(xiàng)第二項(xiàng)圖圖4.12 BulletedList控件示例控件示例4.3.4 HyperLink控件控件HyperLink服務(wù)器控件在服務(wù)器控件在Web頁(yè)上創(chuàng)建超級(jí)鏈接
50、,使用戶可以在應(yīng)頁(yè)上創(chuàng)建超級(jí)鏈接,使用戶可以在應(yīng)用程序中的頁(yè)之間移動(dòng)跳轉(zhuǎn)到其他頁(yè)面,相當(dāng)于用程序中的頁(yè)之間移動(dòng)跳轉(zhuǎn)到其他頁(yè)面,相當(dāng)于HTML中的中的元素。元素。HyperLink控件定義的語(yǔ)法格式如下:控件定義的語(yǔ)法格式如下:網(wǎng)站服務(wù)條網(wǎng)站服務(wù)條款款此行代碼定義一個(gè)超級(jí)鏈接此行代碼定義一個(gè)超級(jí)鏈接 。屬屬 性性說說 明明ImageUrl 顯示此鏈接的圖像的顯示此鏈接的圖像的 URLNavigateUrl 該鏈接的目標(biāo)該鏈接的目標(biāo) URL,當(dāng)用戶單擊鏈接時(shí)會(huì),當(dāng)用戶單擊鏈接時(shí)會(huì)轉(zhuǎn)向此轉(zhuǎn)向此URLTarget URLURL的目標(biāo)框架,默認(rèn)為本框架,的目標(biāo)框架,默認(rèn)為本框架,_blank表示新窗口表
51、示新窗口Text顯示該鏈接的文本顯示該鏈接的文本表表4.17 HyperLink控件的常用屬性控件的常用屬性4.3.5 Table控件控件Table控件定義的語(yǔ)法格式如下:控件定義的語(yǔ)法格式如下: 如果希望在運(yùn)行時(shí)通過代碼向表中添加行和列時(shí),則可以使用如果希望在運(yùn)行時(shí)通過代碼向表中添加行和列時(shí),則可以使用Table服務(wù)器控件。服務(wù)器控件。對(duì) 象成 員功 能TableBackImageUrlCaptionCaptionAlignCellPaddingCellSpacingRows表格的背景圖像的表格的背景圖像的 URL表格的標(biāo)題表格的標(biāo)題標(biāo)題文本的對(duì)齊方式標(biāo)題文本的對(duì)齊方式Table中單元格內(nèi)容
52、和單元格邊框之間的空間量(單位:中單元格內(nèi)容和單元格邊框之間的空間量(單位:像素)像素)Table控件中相鄰單元格之間的空間量(以像素為單位)控件中相鄰單元格之間的空間量(以像素為單位)Table控件中行的集合控件中行的集合TableRowHorizontalAlighVerticalAlighCells獲取或設(shè)置行內(nèi)容的水平對(duì)齊方式獲取或設(shè)置行內(nèi)容的水平對(duì)齊方式獲取或設(shè)置行內(nèi)容的垂直對(duì)齊方式獲取或設(shè)置行內(nèi)容的垂直對(duì)齊方式獲取獲取TableCell對(duì)象的集合,這些對(duì)象表示對(duì)象的集合,這些對(duì)象表示Table控件中的控件中的行的單元格行的單元格TableCellColumnSpanRowSpanT
53、ext獲取或設(shè)置該單元格在獲取或設(shè)置該單元格在Table跨越的列數(shù)跨越的列數(shù)獲取或設(shè)置獲取或設(shè)置Table控件中單元格跨越的行數(shù)控件中單元格跨越的行數(shù)獲取或設(shè)置單元格的文本內(nèi)容獲取或設(shè)置單元格的文本內(nèi)容表4.18 Table及內(nèi)部對(duì)象部分屬性4.3.5 Table控件控件動(dòng)態(tài)地創(chuàng)建一個(gè)動(dòng)態(tài)地創(chuàng)建一個(gè)Table包含三個(gè)步驟:包含三個(gè)步驟:(1)創(chuàng)建)創(chuàng)建TableRow對(duì)象以表示表中的行。對(duì)象以表示表中的行。(2)創(chuàng)建)創(chuàng)建TableCell對(duì)象,表示行中的單元格,并將單元格添加到對(duì)象,表示行中的單元格,并將單元格添加到行中。行中。(3)將)將TableRow添加到添加到Table控件的控件的R
54、ows集合中。集合中?!纠?.6】 Table控件中動(dòng)態(tài)生成行和列??丶袆?dòng)態(tài)生成行和列。頁(yè)面設(shè)計(jì):拖放兩個(gè)頁(yè)面設(shè)計(jì):拖放兩個(gè)DropDownList控件到頁(yè)面上,用來(lái)接收用戶選控件到頁(yè)面上,用來(lái)接收用戶選擇要生成表格的行數(shù)和列數(shù)。在下拉列表框的擇要生成表格的行數(shù)和列數(shù)。在下拉列表框的“智能標(biāo)記智能標(biāo)記”上選擇上選擇“編編輯項(xiàng)輯項(xiàng)”,打開,打開“ListItem集合編輯器集合編輯器”,單擊,單擊“添加添加”,為下拉列表框,為下拉列表框添加幾個(gè)選項(xiàng),分別輸入添加幾個(gè)選項(xiàng),分別輸入Text、Value和和Selected屬性對(duì)應(yīng)的數(shù)字。拖放屬性對(duì)應(yīng)的數(shù)字。拖放一個(gè)一個(gè)Table,設(shè)置一些簡(jiǎn)單屬性
55、,不添加行。拖放一個(gè),設(shè)置一些簡(jiǎn)單屬性,不添加行。拖放一個(gè)“確認(rèn)確認(rèn)”按鈕,按鈕,編寫該按鈕的服務(wù)器端編寫該按鈕的服務(wù)器端Click事件的代碼,動(dòng)態(tài)生成一個(gè)事件的代碼,動(dòng)態(tài)生成一個(gè)Table。本例網(wǎng)頁(yè)本例網(wǎng)頁(yè)example4-6.aspx程序程序代碼代碼。protected void Button1_Click(object sender, EventArgs e) int numrow =int.Parse( DropDownList1.SelectedValue); int numcell = int.Parse(DropDownList2.SelectedValue); Table1.B
56、orderWidth = 2; Table1.BorderColor = System.Drawing.Color.Blue; for (int i = 0; i numrow; i+) TableRow tr = new TableRow(); for (int j = 0; j numcell; j+) TableCell tc = new TableCell(); tc.Text = i.ToString() + j.ToString(); tr.Cells.Add(tc); Table1.Rows.Add(tr); 4.3.5 Table控件控件本例中本例中Table控件是動(dòng)態(tài)生成的。
57、根據(jù)兩個(gè)下拉列表框中用戶選擇的控件是動(dòng)態(tài)生成的。根據(jù)兩個(gè)下拉列表框中用戶選擇的值確定行數(shù)和列數(shù),利用兩重循環(huán)生成值確定行數(shù)和列數(shù),利用兩重循環(huán)生成Table,外重循環(huán)生成行,得到,外重循環(huán)生成行,得到TableRow對(duì)象;內(nèi)重循環(huán)生成行中的單元格,得到對(duì)象;內(nèi)重循環(huán)生成行中的單元格,得到TableCell對(duì)象。程序?qū)ο?。程序運(yùn)行結(jié)果如圖運(yùn)行結(jié)果如圖4.13所示。所示。圖圖4.13 Table控件示例控件示例4.3.6 AdRotator控件控件AdRotator控件用于在網(wǎng)頁(yè)上顯示廣告,定義示例如下:控件用于在網(wǎng)頁(yè)上顯示廣告,定義示例如下: 除了從除了從WebControl繼承的屬性外,表繼承
58、的屬性外,表4.19列出了列出了AdRotator控件包控件包含的其他屬性和事件。含的其他屬性和事件。表4.19 AdRotator控件的屬性和事件名 稱類 型說 明AdvertisementFileString包含廣告及廣告屬性列表的XML路徑AlternateTextFieldString廣告文件或數(shù)據(jù)字段的元素名稱,在其中儲(chǔ)存了替換文本。默認(rèn)值為AlternateTextDataMemberString控件將綁定到的數(shù)據(jù)列表的名稱DataSourceObject控件將要從中獲取數(shù)據(jù)的對(duì)象DataSourceIDString控件將要從中獲取數(shù)據(jù)的控件的IDImageUrlFieldStri
59、ng廣告文件或數(shù)據(jù)字段的元素名稱,其中儲(chǔ)存了圖片的URL。默認(rèn)值為ImageUrlNavigateUrlFieldString廣告文件或數(shù)據(jù)字段的元素名稱,在其中儲(chǔ)存了要導(dǎo)航到的URL。默認(rèn)值為NavigateUrlTargetString單擊AdRotator時(shí)用于顯示目錄頁(yè)面內(nèi)容的瀏覽器窗口或框架4.3.6 AdRotator控件控件 Target屬性用于指定由哪個(gè)瀏覽器窗口或框架顯示單擊屬性用于指定由哪個(gè)瀏覽器窗口或框架顯示單擊AdRotator控件后的結(jié)果頁(yè)面。它指定是否用結(jié)果頁(yè)面替換當(dāng)前瀏覽器窗口或框控件后的結(jié)果頁(yè)面。它指定是否用結(jié)果頁(yè)面替換當(dāng)前瀏覽器窗口或框架中顯示的當(dāng)前內(nèi)容,或是
60、打開一個(gè)新瀏覽器窗口,或是其他的操作。架中顯示的當(dāng)前內(nèi)容,或是打開一個(gè)新瀏覽器窗口,或是其他的操作。值值說說 明明_blank在除框架之外未命名的新窗口呈現(xiàn)內(nèi)容在除框架之外未命名的新窗口呈現(xiàn)內(nèi)容_new未文檔化。單擊時(shí)的行為與未文檔化。單擊時(shí)的行為與_blank相同,只不過后續(xù)的單擊將相同,只不過后續(xù)的單擊將在同一個(gè)窗口呈現(xiàn),而不用打開一個(gè)新窗口在同一個(gè)窗口呈現(xiàn),而不用打開一個(gè)新窗口_parent在鏈接所在窗口或框架的父窗口或框架呈現(xiàn)內(nèi)容。如果子容器在鏈接所在窗口或框架的父窗口或框架呈現(xiàn)內(nèi)容。如果子容器是一個(gè)窗口或頂級(jí)的框架,則與是一個(gè)窗口或頂級(jí)的框架,則與_self相同相同_self在當(dāng)前焦點(diǎn)所在的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲業(yè)顧客服務(wù)保障及響應(yīng)方案
- 蘋果園整改方案合同
- 餐飲行業(yè)社群運(yùn)營(yíng)方案打造忠實(shí)客戶群
- 純水系統(tǒng)技術(shù)協(xié)議書(2篇)
- 家居裝修吊頂施工方案
- 兒童烘焙課程教學(xué)方案
- 醫(yī)療機(jī)構(gòu)信息安全保障方案
- PP借款合同(可直接使用)
- IT技術(shù)人員勞務(wù)派遣協(xié)議
- 建筑行業(yè)施工圖紙印刷方案
- 圍產(chǎn)期母嬰感染B族鏈球菌的防治及專家共識(shí)防治指南PPT課件院內(nèi)培訓(xùn)
- 鐵路基礎(chǔ)知識(shí)考試題庫(kù)500題(單選、多選、判斷)
- 多媒體會(huì)議室維護(hù)維保方案書
- 【失敗案例】“瘋太陽(yáng)”鄭州亞細(xì)亞集團(tuán)的隕落亞細(xì)亞(戰(zhàn)略和體制)
- 大學(xué)化學(xué)-物質(zhì)結(jié)構(gòu)基礎(chǔ)
- 醫(yī)院印章使用申請(qǐng)表
- 摩托車有限公司產(chǎn)品零部件編碼原則與國(guó)內(nèi)車型代碼資料匯編
- WINCC滿足FDA規(guī)范配置說明分解
- 煤場(chǎng)機(jī)械車輛操作規(guī)程
- JJG 1030-2007超聲流量計(jì)
- GB 30254-2013高壓三相籠型異步電動(dòng)機(jī)能效限定值及能效等級(jí)
評(píng)論
0/150
提交評(píng)論