《ASP NET 3.5從基礎(chǔ)到項(xiàng)目實(shí)戰(zhàn)》課件第9章用戶控件與自定義服務(wù)器控件_第1頁
《ASP NET 3.5從基礎(chǔ)到項(xiàng)目實(shí)戰(zhàn)》課件第9章用戶控件與自定義服務(wù)器控件_第2頁
《ASP NET 3.5從基礎(chǔ)到項(xiàng)目實(shí)戰(zhàn)》課件第9章用戶控件與自定義服務(wù)器控件_第3頁
《ASP NET 3.5從基礎(chǔ)到項(xiàng)目實(shí)戰(zhàn)》課件第9章用戶控件與自定義服務(wù)器控件_第4頁
《ASP NET 3.5從基礎(chǔ)到項(xiàng)目實(shí)戰(zhàn)》課件第9章用戶控件與自定義服務(wù)器控件_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

VIP免費(fèi)下載

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第9章用戶控件與自定義服務(wù)器控件在使用ASP.NET3.5進(jìn)行開發(fā)時(shí),不但可以使用VS2008封裝的服務(wù)器控件,開發(fā)人員還可以自己定義控件,把Web開發(fā)過程經(jīng)常需要重復(fù)使用的功能模塊封裝成用戶自己定義的控件,在后續(xù)開發(fā)過程中,可以直接調(diào)用它們,或者做簡單的修改就可以使用了。這樣可以減小開發(fā)人員的工作量,做到一次開發(fā)重復(fù)使用的效果。例如,在實(shí)際開發(fā)過程中的注冊模塊、登錄模塊等功能一般的網(wǎng)站都會(huì)具備,而開發(fā)人員只需要在第一次開發(fā)的過程中將其功能實(shí)現(xiàn),并封裝成用戶控件,這樣在開發(fā)別的網(wǎng)站時(shí),就可以直接調(diào)用它們,從而省去大量的時(shí)間,提高了工作效率。章節(jié)內(nèi)容9.1用戶控件

9.2自定義控件9.3復(fù)合控件

9.1用戶控件開發(fā)人員可以根據(jù)開發(fā)的需求自行定義和編寫用戶控件,其編寫的方法和編寫普通的ASP.NETWeb頁面相同。用戶控件后綴名為.ascx,這樣就與普通的Web頁面區(qū)別開來,但編寫的過程是相同的。9.1.1創(chuàng)建用戶控件在“添加新項(xiàng)”窗口中,選擇“Web用戶控件”選項(xiàng),在“名稱”文本框中可以重新命名用戶控件的名稱。9.1.2使用用戶控件在ASP.NET中引用用戶控件時(shí),需要在引用頁中使用以下代碼來注冊用戶控件,這樣用戶控件才能在普通的Web頁面中使用。 <%@RegisterTagPrefix=“Sample”TagName=“Login”Src=“~/login.ascx”%> //聲明控件引用上述代碼中實(shí)現(xiàn)了在ASP.NETWeb頁面中注冊用戶控件,在這段代碼中,有幾個(gè)屬性是必須編寫的,這些屬性的功能如下。TagPrefix:定義控件位置的命名空間。有了命名空間的制約,就可以在同一個(gè)頁面中使用不同功能的同名控件。TagName:指向所用控件的名字。Src:用戶控件的文件路徑,可以為相對路徑或絕對路徑,但不能使用物理路徑。9.1.3將Web窗體轉(zhuǎn)換成用戶控件(1)將Web頁面中的以下信息進(jìn)行修改。

<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.ascx.cs"Inherits="_Default"%> 修改后的代碼如下。 <%@ControlLanguage="C#"AutoEventWireup="true"CodeFile="Default.ascx.cs"Inherits="_Default"%>(2)刪除頁面中的<body><html><head>等標(biāo)記。(3)將.cs文件中的以下信息進(jìn)行修改。 publicpartialclass_Default:System.Web.UI.Page 修改后的代碼如下。 publicpartialclass_Default:System.Web.UI.UserControl(4)將頁面的后綴名修改成.ascx。9.2自定義控件用戶控件能夠執(zhí)行很多操作,并實(shí)現(xiàn)一些功能,但是在復(fù)雜的環(huán)境下,用戶控件并不能夠達(dá)到開發(fā)人員的要求,因?yàn)橛脩艨丶蟛糠侄际鞘褂矛F(xiàn)有的控件進(jìn)行組裝,編寫事件來達(dá)到目的。于是,ASP.NET允許開發(fā)人員編寫自定義控件實(shí)現(xiàn)復(fù)雜的功能。9.2.1創(chuàng)建自定義服務(wù)器控件在“新建項(xiàng)目”窗口中,選擇“模板”選項(xiàng)組中選擇“ASP.NET服務(wù)器控件”選項(xiàng)。9.2.2使用自定義服務(wù)器控件單擊“項(xiàng)目”選項(xiàng)卡,可以看到,在這里面沒有任何的引用信息,這時(shí)就需要開發(fā)人員單擊“瀏覽”選項(xiàng)卡,找到自定義的控件,添加進(jìn)來。如果在“項(xiàng)目”選項(xiàng)卡中有已經(jīng)引用好的自定控件,可直接選擇,然后單擊“確定”按鈕。9.2.2使用自定義服務(wù)器控件圖1“添加引用”窗口圖2“項(xiàng)目”選項(xiàng)卡9.2.3將自定義控件添加到工具箱在VisualStudio中創(chuàng)建一個(gè)新項(xiàng)目,其包含一個(gè)單獨(dú)的頁面(如Default.aspx)。通過以下步驟將自定義控件DemoServerControl添加到VisualStudio的工具箱中。(1)單擊菜單欄中的“工具”→“選擇工具箱項(xiàng)”命令,彈出“選擇工具箱項(xiàng)”窗口,如圖3所示。(2)單擊“瀏覽”按鈕,使其轉(zhuǎn)至包含DemoServerControl控件所在目錄,如圖4所示。9.2.3將自定義控件添加到工具箱圖3“選擇工具箱項(xiàng)”窗口圖4找到程序集9.2.3將自定義控件添加到工具箱(3)選中.dll文件后,單擊“打開”按鈕,會(huì)在“選擇工具箱項(xiàng)”窗口中出現(xiàn)ServerControl1程序集,如圖5所示。(4)單擊“確定”按鈕之后,ServerControl1控件就出現(xiàn)在工具箱中了,如圖6所示。9.2.3將自定義控件添加到工具箱

圖5ServerControl1程序集圖6ServerControl1控件出現(xiàn)在工具箱中9.3復(fù)合控件復(fù)合控件由多個(gè)組件組合而成,復(fù)合控件的功能要比簡單組合幾個(gè)控件的功能要強(qiáng)大得多,而且很多時(shí)候具有一定的專項(xiàng)性。在ASP.NET中的Login控件就是一個(gè)典型的復(fù)合控件。該控件用戶界面由多個(gè)單獨(dú)控件組合而成,并且使用單一的API對控件進(jìn)行設(shè)置和訪問,具有快速實(shí)現(xiàn)用戶登錄的功能。9.3復(fù)合控件要想創(chuàng)建復(fù)合控件必須要實(shí)現(xiàn)以下兩點(diǎn)。(1)通常情況復(fù)合控件類必須派生自System.Web.UI.WebControls.CompositeControl類。(2)必須重寫Control基類的CreateChildControls方法,以便對子控件進(jìn)行初始化、實(shí)例化,并將其添加到控件樹中。CreateChildControls用于通知使用基于合成實(shí)現(xiàn)的服務(wù)器控件,創(chuàng)建它們包含的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論