




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第9章用戶控件與自定義服務器控件在使用ASP.NET3.5進行開發時,不但可以使用VS2008封裝的服務器控件,開發人員還可以自己定義控件,把Web開發過程經常需要重復使用的功能模塊封裝成用戶自己定義的控件,在后續開發過程中,可以直接調用它們,或者做簡單的修改就可以使用了。這樣可以減小開發人員的工作量,做到一次開發重復使用的效果。例如,在實際開發過程中的注冊模塊、登錄模塊等功能一般的網站都會具備,而開發人員只需要在第一次開發的過程中將其功能實現,并封裝成用戶控件,這樣在開發別的網站時,就可以直接調用它們,從而省去大量的時間,提高了工作效率。章節內容9.1用戶控件
9.2自定義控件9.3復合控件
9.1用戶控件開發人員可以根據開發的需求自行定義和編寫用戶控件,其編寫的方法和編寫普通的ASP.NETWeb頁面相同。用戶控件后綴名為.ascx,這樣就與普通的Web頁面區別開來,但編寫的過程是相同的。9.1.1創建用戶控件在“添加新項”窗口中,選擇“Web用戶控件”選項,在“名稱”文本框中可以重新命名用戶控件的名稱。9.1.2使用用戶控件在ASP.NET中引用用戶控件時,需要在引用頁中使用以下代碼來注冊用戶控件,這樣用戶控件才能在普通的Web頁面中使用。 <%@RegisterTagPrefix=“Sample”TagName=“Login”Src=“~/login.ascx”%> //聲明控件引用上述代碼中實現了在ASP.NETWeb頁面中注冊用戶控件,在這段代碼中,有幾個屬性是必須編寫的,這些屬性的功能如下。TagPrefix:定義控件位置的命名空間。有了命名空間的制約,就可以在同一個頁面中使用不同功能的同名控件。TagName:指向所用控件的名字。Src:用戶控件的文件路徑,可以為相對路徑或絕對路徑,但不能使用物理路徑。9.1.3將Web窗體轉換成用戶控件(1)將Web頁面中的以下信息進行修改。
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.ascx.cs"Inherits="_Default"%> 修改后的代碼如下。 <%@ControlLanguage="C#"AutoEventWireup="true"CodeFile="Default.ascx.cs"Inherits="_Default"%>(2)刪除頁面中的<body><html><head>等標記。(3)將.cs文件中的以下信息進行修改。 publicpartialclass_Default:System.Web.UI.Page 修改后的代碼如下。 publicpartialclass_Default:System.Web.UI.UserControl(4)將頁面的后綴名修改成.ascx。9.2自定義控件用戶控件能夠執行很多操作,并實現一些功能,但是在復雜的環境下,用戶控件并不能夠達到開發人員的要求,因為用戶控件大部分都是使用現有的控件進行組裝,編寫事件來達到目的。于是,ASP.NET允許開發人員編寫自定義控件實現復雜的功能。9.2.1創建自定義服務器控件在“新建項目”窗口中,選擇“模板”選項組中選擇“ASP.NET服務器控件”選項。9.2.2使用自定義服務器控件單擊“項目”選項卡,可以看到,在這里面沒有任何的引用信息,這時就需要開發人員單擊“瀏覽”選項卡,找到自定義的控件,添加進來。如果在“項目”選項卡中有已經引用好的自定控件,可直接選擇,然后單擊“確定”按鈕。9.2.2使用自定義服務器控件圖1“添加引用”窗口圖2“項目”選項卡9.2.3將自定義控件添加到工具箱在VisualStudio中創建一個新項目,其包含一個單獨的頁面(如Default.aspx)。通過以下步驟將自定義控件DemoServerControl添加到VisualStudio的工具箱中。(1)單擊菜單欄中的“工具”→“選擇工具箱項”命令,彈出“選擇工具箱項”窗口,如圖3所示。(2)單擊“瀏覽”按鈕,使其轉至包含DemoServerControl控件所在目錄,如圖4所示。9.2.3將自定義控件添加到工具箱圖3“選擇工具箱項”窗口圖4找到程序集9.2.3將自定義控件添加到工具箱(3)選中.dll文件后,單擊“打開”按鈕,會在“選擇工具箱項”窗口中出現ServerControl1程序集,如圖5所示。(4)單擊“確定”按鈕之后,ServerControl1控件就出現在工具箱中了,如圖6所示。9.2.3將自定義控件添加到工具箱
圖5ServerControl1程序集圖6ServerControl1控件出現在工具箱中9.3復合控件復合控件由多個組件組合而成,復合控件的功能要比簡單組合幾個控件的功能要強大得多,而且很多時候具有一定的專項性。在ASP.NET中的Login控件就是一個典型的復合控件。該控件用戶界面由多個單獨控件組合而成,并且使用單一的API對控件進行設置和訪問,具有快速實現用戶登錄的功能。9.3復合控件要想創建復合控件必須要實現以下兩點。(1)通常情況復合控件類必須派生自System.Web.UI.WebControls.CompositeControl類。(2)必須重寫Control基類的CreateChildControls方法,以便對子控件進行初始化、實例化,并將其添加到控件樹中。CreateChildControls用于通知使用基于合成實現的服務器控件,創建它們包含的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 風險應對策略的選擇試題及答案
- 高考語文考場應用試題及答案
- 湖北省咸寧市咸安區2025年八下數學期末統考試題含解析
- 制定個人學習與發展路徑計劃
- 細分市場的品牌定位研究計劃
- 提升領導力的實踐方法計劃
- 計算機科學專業進階學習策略試題及答案
- 計算機輔助翻譯(CAT)軟件應用試題及答案
- 2024年陜西科技大學輔導員考試真題
- 風險管理中的人才培養與發展試題及答案
- 血液凈化標準操作規程 2021 版
- 2025年內蒙古自治區初中學業水平考試數學模擬試題 (一)(含答案)
- 婚戀平臺合同協議書
- 保護患者隱私權醫療AI技術的倫理要求與實踐
- 權益配置與代理關系的成本效益分析
- 2025年貴州省貴陽市云巖區中考模擬語文檢測試題(含答案)
- 空地或鋪面出租合同協議
- GA 1812.3-2024銀行系統反恐怖防范要求第3部分:印鈔造幣企業
- 【公開課】+滑輪-人教版(2024)初中物理八年級下冊
- 2025餐飲轉讓合同協議書 餐飲轉讓合同協議書范本
- 2025年高考語文備考之近五年(2020-2024)語用題匯編:表達效果類真題+答案詳解+思路六步走
評論
0/150
提交評論