ASPNET Web 程序設(shè)計(jì)課件第7章_第1頁(yè)
ASPNET Web 程序設(shè)計(jì)課件第7章_第2頁(yè)
ASPNET Web 程序設(shè)計(jì)課件第7章_第3頁(yè)
ASPNET Web 程序設(shè)計(jì)課件第7章_第4頁(yè)
ASPNET Web 程序設(shè)計(jì)課件第7章_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第7章主題與母版27.1主題在Web應(yīng)用程序中,通常所有的頁(yè)面都有統(tǒng)一的外觀和操作方式。ASP.NET3.5通過(guò)應(yīng)用主題,來(lái)提供統(tǒng)一的外觀。主題包括外觀文件、CSS文件和圖片文件等。37.1.1主題概述主題是CSS的擴(kuò)展。主題包含外觀文件、CSS文件、圖片文件及其它資源(至少應(yīng)包含外觀文件)。主題在存儲(chǔ)時(shí)與一個(gè)主題文件夾對(duì)應(yīng)。4主題概述(續(xù))主題分為全局主題和應(yīng)用程序主題全局主題:應(yīng)用于服務(wù)器中的所有Web應(yīng)用程序,存儲(chǔ)于C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ASP.NETClientFiles\Themes文件夾下(假設(shè)操作系統(tǒng)安裝于C盤)。應(yīng)用程序主題:應(yīng)用于單個(gè)Web應(yīng)用程序。存儲(chǔ)于Web應(yīng)用程序的App_Themes文件夾中。每個(gè)App_Themes文件夾中的子文件夾都對(duì)應(yīng)一個(gè)應(yīng)用程序主題。5

自定義主題自定義主題就是建立主題文件夾,然后添加外觀文件(.skin)、樣式文件(.css)、圖片文件到主題文件夾中。主題和外觀文件添加CSS到主題添加圖片文件到主題注意:主題文件夾包含在App_Themes中6主題和外觀文件一個(gè)主題必須包含外觀文件。創(chuàng)建主題:右擊項(xiàng)目,“添加ASP.NET文件夾”→“主題”,在網(wǎng)站根文件下自動(dòng)添加文件夾App_Themes,并在該文件夾下建立主題文件夾(可重命名如Red)

添加外觀文件:右擊主題文件夾Red→“添加新項(xiàng)”→“外觀文件”(可重命名如Red.skin)7默認(rèn)的樣式模板(Red.skin)<%--默認(rèn)的外觀模板。以下外觀僅作為示例提供。1.命名的控件外觀。SkinId的定義應(yīng)唯一,因?yàn)樵谕恢黝}中不允許一個(gè)控件類型有重復(fù)的SkinId。<asp:GridViewrunat="server"SkinId="gridviewSkin"BackColor="White"><AlternatingRowStyleBackColor="Blue"/></asp:GridView>2.默認(rèn)外觀。未定義SkinId。在同一主題中每個(gè)控件類型只允許有一個(gè)默認(rèn)的控件外觀。<asp:Imagerunat="server"ImageUrl="~/images/image1.jpg"/>--%>注意:控件外觀樣式只能對(duì)外貌屬性進(jìn)行定義。8默認(rèn)外觀和已命名外觀利用屬性SkinID可以為同種類型控件定義多種外觀。默認(rèn)外觀:沒(méi)有SkinID的外觀。

<asp:Labelrunat="server"ForeColor="#FF0000"Font-Size="X-Small"/>已命名外觀:有SkinID的外觀。<asp:Labelrunat="server"ForeColor="#00FF00"Font-Size="X-Small"SkinID="LabelGreen"/><asp:Labelrunat="server"ForeColor="#0000FF"Font-Size="X-Small"SkinID="LabelBlue"/>

9使用外觀當(dāng)為同種類型控件定義多種外觀后,在網(wǎng)頁(yè)中使用主題時(shí)應(yīng)通過(guò)控件的屬性SkinID進(jìn)行區(qū)分。如代碼:<asp:LabelID="Lable1"SkinID="LabelBlue"Runat="Server"/><asp:LabelID="Lable2"Runat="Server"/>表示Label1控件使用LabelBlue外觀Label2控件使用默認(rèn)外觀。10添加CSS到主題通過(guò)在主題中添加CSS文件來(lái)設(shè)置HTML或HTML服務(wù)器控件的樣式。操作方式:右擊主題文件夾Red→“添加新項(xiàng)”→“樣式表”,重命名為Red.css。然后在Red.css中添加HTML元素樣式。11添加圖片文件到主題通常在App_Themes文件夾中創(chuàng)建Images文件夾,再添加合適的圖片文件到Images文件夾中。要使用Images文件夾中的圖片文件,可以通過(guò)控件的相關(guān)鏈接圖片文件的Url屬性進(jìn)行訪問(wèn)。1210.1.3使用主題自己定義或從網(wǎng)上下載主題后,就可以在Web應(yīng)用程序中使用主題了。可以在單個(gè)網(wǎng)頁(yè)中應(yīng)用主題。可以在網(wǎng)站中應(yīng)用主題。可以在網(wǎng)站部分網(wǎng)頁(yè)中應(yīng)用主題。可以部分禁用主題。13單個(gè)網(wǎng)頁(yè)應(yīng)用主題<%@PageTheme="ThemeName"%><%@PageStylesheetTheme="ThemeName"%>注意:(1)屬性StylesheetTheme表示主題為本地控件的從屬設(shè)置。也就是說(shuō),如果在頁(yè)面上為某個(gè)控件設(shè)置了本地屬性,則主題中與控件本地屬性相同的屬性將不起作用。(2)屬性Theme本地屬性會(huì)被覆蓋(主題起作用,本地屬性不起作用)。14網(wǎng)站應(yīng)用主題修改應(yīng)用程序的web.config文件,可將主題應(yīng)用于整個(gè)網(wǎng)站。例:<configuration><system.web><pagestheme="ThemeName(主題名)"/></system.web></configuration>15網(wǎng)站部分頁(yè)應(yīng)用主題可以將這些頁(yè)與它們自己的web.config文件放在一個(gè)文件夾中。在根web.config文件中創(chuàng)建一個(gè)<location>元素以指定文件夾。為子文件夾sub1設(shè)置了主題:<configuration><locationpath="sub1"> <system.web> <pagestheme="ThemeName(主題名)"/> </system.web></location></configuration>

16禁用主題可以設(shè)置屬性EnableTheming值為false來(lái)禁用主題實(shí)現(xiàn)。例如:頁(yè)面禁用主題:<%@PageEnableTheming="false"%>控件禁用主題:<asp:Calendarid="Calendar1"runat="server"EnableTheming="false"/>17

動(dòng)態(tài)切換主題當(dāng)選擇不同的主題后,頁(yè)面中的控件將呈現(xiàn)不同的外貌。源程序:Blue.skin源程序:Green.skin源程序:Theme.aspx187.2母版頁(yè)利用母版頁(yè)可以方便快捷地建立統(tǒng)一風(fēng)格的ASP.NET網(wǎng)站,并且容易管理和維護(hù),大大提高了設(shè)計(jì)效率。197.2.1母版頁(yè)概述母版頁(yè)為網(wǎng)頁(yè)定義所需的外觀和標(biāo)準(zhǔn)行為,然后在母版頁(yè)基礎(chǔ)上創(chuàng)建要包含顯示內(nèi)容的各個(gè)內(nèi)容頁(yè)。當(dāng)用戶請(qǐng)求內(nèi)容頁(yè)時(shí),這些內(nèi)容頁(yè)將與母版頁(yè)合并輸出。母版頁(yè)優(yōu)點(diǎn):使用母版頁(yè)可以集中處理網(wǎng)頁(yè)的通用功能,若要修改所有網(wǎng)頁(yè)的通用功能,只需要修改母版頁(yè)即可。使用母版頁(yè)可以方便地創(chuàng)建一組控件和代碼,并應(yīng)用于一組網(wǎng)頁(yè)。通過(guò)允許控制占位符控件的呈現(xiàn)方式,母版頁(yè)可以在細(xì)節(jié)上控制最終頁(yè)的布局。20母版頁(yè)的組成母版頁(yè)由特殊的@Master指令識(shí)別,該指令替換了用于普通.aspx頁(yè)的@Page指令。母版頁(yè)包含網(wǎng)頁(yè)的所有頂級(jí)XHTML元素,如<html>、<head>和<form>。通常可以在母版頁(yè)上建立一個(gè)HTML表用于布局。將一個(gè)<img>元素用于公司徽標(biāo)。使用服務(wù)器控件創(chuàng)建站點(diǎn)的標(biāo)準(zhǔn)導(dǎo)航。將靜態(tài)文本用于版權(quán)聲明。母版頁(yè)可以包含一個(gè)或多個(gè)可替換內(nèi)容的占位符控件ContentPlaceHolder。注意:母版頁(yè)文件的擴(kuò)展名是.master21簡(jiǎn)單母版頁(yè)例子母版頁(yè):MasterPageSample.master內(nèi)容頁(yè):MasterPageSample.aspx22母版頁(yè)處理237.2.2創(chuàng)建母版頁(yè)創(chuàng)建母版頁(yè)的方式和創(chuàng)建Web窗體類似。操作步驟: 在解決方案資源管理器中,右擊網(wǎng)站的名稱→“添加新項(xiàng)”,選擇“母版頁(yè)”,重命名母版頁(yè)名稱。注意:“選擇母版頁(yè)”復(fù)選框表示可以將其它母版頁(yè)嵌入到當(dāng)前的母版頁(yè)中。24實(shí)例

創(chuàng)建母版頁(yè)本實(shí)例將創(chuàng)建一個(gè)母版頁(yè)MasterPage.master,該母版頁(yè)采用常見的“上中下”網(wǎng)頁(yè)布局。源程序:MasterPage.master257.2.3創(chuàng)建內(nèi)容頁(yè)內(nèi)容頁(yè)僅包含要與母版頁(yè)合并的內(nèi)容,可以在其中添加用戶請(qǐng)求該頁(yè)面時(shí)要顯示的文本和控件。26實(shí)例7-3創(chuàng)建內(nèi)容頁(yè)本實(shí)例將創(chuàng)建基于母版頁(yè)MasterPage.master的內(nèi)容頁(yè)。源程序:ContentPage.aspx程序說(shuō)明:頁(yè)面包含一個(gè)@Page指令,此指令的屬性MasterPageFile表示當(dāng)前頁(yè)將與根文件夾下的“MasterPage.master”母版頁(yè)合并。

277.3用戶控件用戶控件:在ASP.NET網(wǎng)頁(yè)中,除了使用Web服務(wù)器控件外,還可以根據(jù)需要?jiǎng)?chuàng)建重復(fù)使用的自定義控件,這些控件稱作用戶控件。用戶控件是一種復(fù)合控件,工作原理非常類似于ASP.NET網(wǎng)頁(yè),可以向用戶控件添加現(xiàn)有的Web服務(wù)器控件和標(biāo)記,并定義控件的屬性和方法。用戶控件在實(shí)際工程中常用于統(tǒng)一網(wǎng)頁(yè)顯示風(fēng)格。287.3.1用戶控件概述創(chuàng)建用戶控件的原因:實(shí)現(xiàn)內(nèi)置ASP.NETWeb服務(wù)器控件未提供的功能。提取多個(gè)網(wǎng)頁(yè)中相同的用戶界面來(lái)統(tǒng)一網(wǎng)頁(yè)顯示風(fēng)格。創(chuàng)建用戶控件的方法:一種方法是創(chuàng)建用戶控件,然后將用戶控件作為一個(gè)單元對(duì)待,為其定義屬性和方法。另一種方法是自定義控件,就是編寫一個(gè)類,此類從Control或WebControl派生。方法比較:因?yàn)榭梢灾赜矛F(xiàn)有的控件,所以創(chuàng)建用戶控件要比創(chuàng)建自定義控件方便得多。29用戶控件與ASP.NET網(wǎng)頁(yè)的比較用戶控件的文件擴(kuò)展名為.ascx。用戶控件沒(méi)有@Page指令,是包含@Control指令。用戶控件不能作為獨(dú)立文件運(yùn)行,而必須像處理其它控件一樣,只有將它們添加到ASP.NET網(wǎng)頁(yè)中后才能使用。用戶控件中沒(méi)有<html>、<body>或<form>元素,這些元素必須位于宿主網(wǎng)頁(yè)中。可以在用戶控件上使用與在ASP.NET網(wǎng)頁(yè)上所用相同的HTML元素(<html>、<body>或<form>元素除外)和Web服務(wù)器控件。307.3.2創(chuàng)建用戶控件可以像設(shè)計(jì)ASP.NET網(wǎng)頁(yè)一樣設(shè)計(jì)用戶控件,可以將ASP.NET網(wǎng)頁(yè)更改為一個(gè)用戶控件。針對(duì)在已經(jīng)開發(fā)好的ASP.NET網(wǎng)頁(yè)并打算在整個(gè)Web應(yīng)用程序中訪問(wèn)其功能的情況下使用。317.3.2創(chuàng)建用戶控件(續(xù))將單文件ASP.NET網(wǎng)頁(yè)轉(zhuǎn)換為用戶控件(1)重命名.aspx文件擴(kuò)展名為.ascx。(2)從頁(yè)面中移除<html>、<body>和<form>元素;將@Page指令更改為@Control指令;移除@

Control指令中除Language、AutoEventWireup(如果存在)、CodeFile和Inherits之外的所有屬性。327.3.2創(chuàng)建用戶控件(續(xù))將代碼隱藏ASP.NET網(wǎng)頁(yè)轉(zhuǎn)換為用戶控件(1)重命名.aspx文件擴(kuò)展名為.ascx。(2)重命名代碼隱藏文件使其文件擴(kuò)展名為.ascx.cs。(3)打開代碼隱藏文件并將該文件繼承的類從Page更改為UserControl。(4)在.aspx文件中,移除<html>、<body>和<form>元素;將@Page指令更改為@Control指令;移除@

Control指令中除Language、AutoEventWireup(如果存在)、CodeFile和Inherits之外的所有屬性;在@

Control指令中,將CodeFile屬性值更改為指向重命名后的代碼隱藏文件名。337.3.3使用用戶控件(1)將其包含在ASP.NET網(wǎng)頁(yè)中。實(shí)現(xiàn)方法:在包含用戶控件的ASP

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論