第9章 用戶控件與自定義控件

第9章 用戶控件與自定義控件

ID:44962856

大小:208.00 KB

頁數(shù):22頁

時(shí)間:2019-11-06

第9章  用戶控件與自定義控件_第1頁
第9章  用戶控件與自定義控件_第2頁
第9章  用戶控件與自定義控件_第3頁
第9章  用戶控件與自定義控件_第4頁
第9章  用戶控件與自定義控件_第5頁
資源描述:

《第9章 用戶控件與自定義控件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、第9章用戶控件與自定義控件本章主要內(nèi)容ASP.NET用戶控件和自定義控件概述創(chuàng)建及使用用戶控件設(shè)置用戶控件用戶控件編程9.1ASP.NET用戶控件和自定義控件概述用戶控件(UserControl)是一種自定義的組合控件,通常由系統(tǒng)提供的可視化控件組合而成。在用戶控件中不僅可以定義顯示界面,還可以編寫事件處理代碼。當(dāng)多個(gè)網(wǎng)頁中包括有部分相同的用戶界面時(shí),可以將這些相同的部分提取出來,做成用戶控件。Web用戶控件與完整的ASP.NET網(wǎng)頁(即.aspx文件)非常相似,同時(shí)具有自己的用戶界面頁和代碼。9.1.1用戶控件和普通的W

2、eb頁比較(1)用戶控件文件的擴(kuò)展名為.ascx而不是.aspx;代碼的分離(隱藏)文件的擴(kuò)展名是.ascx.cs而不是.aspx.cs;(2)在用戶控件中不能包含、和

等HTML語言的標(biāo)記;(3)用戶控件中沒有@Page指令,而是包含@Control指令,該指令對(duì)配置及其他屬性進(jìn)行定義;(4)用戶控件可以單獨(dú)編譯,但不能單獨(dú)運(yùn)行。只有將用戶控件嵌入到.aspx文件中時(shí),才能和ASP.NET網(wǎng)頁一起運(yùn)行。9.1.2用戶控件與自定義控件的比較(1)自定義控件采用大多數(shù)應(yīng)用程序可以使用的動(dòng)態(tài)鏈

3、接庫文件(.DLL),為創(chuàng)建可再分發(fā)的組件而設(shè)計(jì)。用戶控件是為單個(gè)應(yīng)用程序而設(shè)計(jì)的,用戶控件必須以源代碼形式存在(.ascx文件)。(2)自定義控件適用通過在編程方式生成的布局中表現(xiàn)動(dòng)態(tài)內(nèi)容,用戶控件的布局在.ascx文件創(chuàng)建時(shí)聲明,適用于固定布局的相對(duì)靜態(tài)的內(nèi)容。(3)自定義控件提供很大程度的設(shè)計(jì)期支持功能,如可以支持設(shè)計(jì)時(shí)的屬性、方法;用戶控件只有很少的設(shè)計(jì)期支持,它并不在屬性窗口中顯示屬性和事件,也不能將其放到工具箱中。9.1.3用戶控件的優(yōu)點(diǎn)(1)可以將常用的內(nèi)容或者控件以及控件的運(yùn)行程序邏輯,設(shè)計(jì)為用戶控件,然后

4、便可以在多個(gè)網(wǎng)頁中重復(fù)使用該用戶控件,從而減少重復(fù)性的工作。例如,網(wǎng)頁上的導(dǎo)航欄,幾乎每個(gè)頁都需要相同的導(dǎo)航欄,這時(shí)可以將其設(shè)計(jì)為一個(gè)用戶控件,在多個(gè)頁中使用。(2)如果網(wǎng)頁內(nèi)容需要改變時(shí),只需修改用戶控件中的內(nèi)容,其他添加使用該用戶控件的網(wǎng)頁會(huì)自動(dòng)隨之改變,因此網(wǎng)頁的設(shè)計(jì)以及維護(hù)變得簡單易行。9.2創(chuàng)建及使用用戶控件9.2.1創(chuàng)建用戶控件創(chuàng)建普通用戶控件的一般需要如下幾個(gè)步驟。(1)創(chuàng)建一個(gè)新文件并為其指定一個(gè)擴(kuò)展名為.ascx的文件名。(2)在該頁面的頂部創(chuàng)建一個(gè)@Control指令,并指定要為控件(如果有)使用的編程

5、語言。(3)添加希望用戶控件顯示的控件。(4)添加用戶控件要執(zhí)行的任務(wù)(如處理控件事件或從數(shù)據(jù)源讀取數(shù)據(jù))的代碼。(5)如果希望在用戶控件和宿主頁之間共享信息,需要在控件中創(chuàng)建相應(yīng)的屬性。根據(jù)需要可以創(chuàng)建任何類的屬性。9.2.2將用戶控件添加至網(wǎng)頁在網(wǎng)頁中添加用戶控件的步驟如下:(1)在解決方案資源管理器中,用鼠標(biāo)單擊要添加到網(wǎng)頁的用戶控件。(2)按住鼠標(biāo)左鍵,將用戶控件拖曳到網(wǎng)頁上,然后,釋放鼠標(biāo)左鍵即可,如圖所示:9.2.3在用戶控件中添加用戶控件用戶控件的使用可以減少開發(fā)人員的工作量,在設(shè)計(jì)用戶控件時(shí),可以將已創(chuàng)建好

6、的用戶控件添加到某個(gè)用戶控件中。本實(shí)例以開發(fā)一個(gè)學(xué)生畢業(yè)論文網(wǎng)站為實(shí)例,在開發(fā)過程中應(yīng)用了在用戶控件中添加用戶控件的技巧。實(shí)例:(1)Header.ascx控件。Header.ascx控件用來實(shí)現(xiàn)界面頭部的設(shè)計(jì),如圖所示,在這個(gè)界面的頭部中主要實(shí)現(xiàn)用戶登錄和信息導(dǎo)航兩個(gè)功能。(2)UserLoginUC.ascx控件。UserLoginUC.ascx控件用來實(shí)現(xiàn)用戶登錄,它由兩個(gè)TextBox控件,一個(gè)Button控件,兩個(gè)Label控件組成,同將Web用戶控件添加至網(wǎng)頁的方法一樣,將其拖曳至Header.ascx用戶控件

7、的適當(dāng)位置上。(3)Visitor.ascx控件。Visitor.ascx控件用來實(shí)現(xiàn)此網(wǎng)站的信息導(dǎo)航,分別顯示“首頁”、“畢業(yè)論文”、“學(xué)生注冊(cè)”和“幫助”,單擊每個(gè)HypeLink控件,可鏈接到相應(yīng)的URL地址。9.3設(shè)置用戶控件9.3.1訪問用戶控件的屬性在用戶控件中,屬性是一種有效的向類型使用者公開數(shù)據(jù)的字段,從類型使用者的角度來看,屬性是一個(gè)public字段,通過實(shí)現(xiàn)一個(gè)屬性,可以將使用者和實(shí)現(xiàn)細(xì)節(jié)相互隔離,同時(shí)還可以在屬性被訪問時(shí)提供數(shù)據(jù)有效性檢查、跟蹤等處理字段。privatestringuserName="

8、Hello中國北京!";//私有變量,外部無法訪問publicstringstr_userName//再定義下公有變量來讀取私有變量{get{returnuserName;}set{userName=value;}}9.3.2訪問用戶控件中的服務(wù)器控件程序開發(fā)人員可以在用戶控件中添加各種控件,例如,La

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。