個性化與主題講解_第1頁
個性化與主題講解_第2頁
個性化與主題講解_第3頁
個性化與主題講解_第4頁
個性化與主題講解_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第11章

特性化與主題內(nèi)容特性化配置主題和外觀特性化配置ASP.NET特性化配置特性化配置的用戶標(biāo)識特性化配置的運(yùn)用特性化配置供應(yīng)程序ASP.NET特性化配置特性化是指對訪問站點(diǎn)的用戶依據(jù)他們各自的要求供應(yīng)相關(guān)的服務(wù)和界面的呈現(xiàn)風(fēng)格。特性化應(yīng)用程序須要這樣的一些功能:必需運(yùn)用唯一的用戶標(biāo)識符存儲信息能夠在用戶再次訪問時識別用戶,然后依據(jù)須要獲得用戶信息在ASP.NET中,可以便利地完成對特性化數(shù)據(jù)的存取和運(yùn)用。其基本原理如下:特性化配置功能將信息與單個用戶關(guān)聯(lián),并接受許久性的格式存儲這些信息通過特性化配置,可以管理各種用戶(匿名用戶、Window認(rèn)證用戶和Form認(rèn)證用戶)信息,而無需創(chuàng)建和維護(hù)自己的數(shù)據(jù)庫ASP.NET會依據(jù)配置將ProfileCommon類實(shí)例化,并可在應(yīng)用程序的任何位置訪問ASP.NET特性化配置特性化配置的工作方式在Web.config中配置Provider和Profile在程序中設(shè)置和引用該值演示和練習(xí):運(yùn)用Profile保存簡潔的用戶信息多媒體演示特性化配置的用戶標(biāo)識通過身份驗(yàn)證的用戶匿名用戶演示和練習(xí):在Web.config中配置保存匿名用戶個人配置信息遷移匿名特性化配置信息通過身份驗(yàn)證的用戶默認(rèn)狀況下,用戶特性化配置與System.Web.HttpContext.Current.User屬性中存儲的用戶標(biāo)識關(guān)聯(lián)。用戶標(biāo)識可通過以下幾方面確定:ASP.NETForms身份驗(yàn)證,在身份驗(yàn)證成功之后設(shè)置用戶標(biāo)識Windows或Passport身份驗(yàn)證,在身份驗(yàn)證成功之后設(shè)置用戶標(biāo)識自定義身份驗(yàn)證,對用戶憑據(jù)的獲得和用戶標(biāo)識的設(shè)置進(jìn)行手工管理匿名用戶必需在Web.config顯示配置對匿名用戶的支持可以通過Cookie保存匿名用戶標(biāo)識假如不能保存Cookie,可以將匿名用戶表示作為URL的一部分<anonymousIdentificationenabled="[true|false]"cookieless="[UseUri|UseCookies|AutoDetect|UseDeviceProfile]"cookieName=""cookiePath="“cookieProtection="[None|Validation|Encryption|All]"cookieRequireSSL="[true|false]"cookieSlidingExpiration="[true|false]"cookieTimeout="[DD.HH:MM:SS]"domain="cookiedomain"/>演示和練習(xí):在Web.config中配置保存匿名用戶個人配置信息多媒體演示遷移匿名特性化配置信息當(dāng)用戶從匿名用戶轉(zhuǎn)換到被認(rèn)證用戶時,匿名用戶數(shù)據(jù)須要遷移過來遷移的方法:將觸發(fā)Profile_OnMigrateAnonymous事務(wù),所以須要在該事務(wù)處理遷移的動作首先獲得匿名用戶特性化配置然后刪除匿名用戶特性化配置信息,刪除匿名用戶Cookie特性化配置的運(yùn)用屬性定義信息運(yùn)用標(biāo)量值運(yùn)用困難的屬性類型運(yùn)用用戶自定義的屬性類型運(yùn)用屬性組演示和練習(xí):運(yùn)用自定義的屬性類型屬性定義信息屬性說明Name屬性名稱type指定屬性的類型。默認(rèn)為String。可以將任何.NET類指定為類型(Int32、DateTime、StringCollection等)。如果.NETFramework中沒有定義該類型,則必須確保Web應(yīng)用程序可以訪問該類型??梢栽谡军c(diǎn)的Bin目錄中或全局程序集緩存(GAC)中包含該類型編譯后的程序集,也可以將該類型的源代碼放入網(wǎng)站的App_Code目錄中serializeAs指定序列化格式化程序(字符串、二進(jìn)制、XML或提供程序特定的序列化)。默認(rèn)序列化為字符串a(chǎn)llowAnonymous指定一個布爾值,該布爾值指示是否為匿名用戶托管屬性。默認(rèn)情況下,該屬性為false。如果希望未經(jīng)身份驗(yàn)證的用戶使用該屬性,則可以將該屬性設(shè)置為true屬性定義信息屬性說明defaultValue指定屬性初始化時使用的值readOnly指定一個布爾值來指示屬性是否可修改provider指定特定于屬性的提供程序。默認(rèn)情況下,使用為個性化配置屬性指定的默認(rèn)提供程序?qū)λ袑傩赃M(jìn)行管理,但個別屬性也可以使用不同的提供程序customProviderData指定一個包含自定義信息的可選字符串,該字符串將被傳遞運(yùn)用標(biāo)量值將標(biāo)量值(如字符串、數(shù)字值或DateTime值)存儲在特性化配置中僅須要很少的配置,即只需供應(yīng)名稱和類型<profiledefaultProvider="AspNetSqlProfileProvider"><properties><addname="Name"/><addname="Weight"type="System.Int32"/><addname="Birthday"type="System.DateTime"/></properties></profile>運(yùn)用困難的屬性類型必需供應(yīng)有關(guān)如何序列化該類型的信息,使特性化配置系統(tǒng)可以獲得屬性值并將屬性值設(shè)置為正確的類型<profiledefaultProvider="AspNetSqlProfileProvider"><properties><addname=“FavoriteURLs”type=“System.Collection.Specialized.StringCollection”

serializeAs="Xml"/></properties></profile>運(yùn)用用戶自定義的屬性類型必需支持要存儲在用戶特性化配置中的成員的序列化<profiledefaultProvider="AspNetSqlProfileProvider"><properties><addname="MyCart"type="Samples.AspNet.Profile.ShoppingCart"serializeAs="Xml"/></properties></profile>運(yùn)用屬性組可運(yùn)用group指定特性化配置屬性組引用方式:Profile.Address.Street<profileenabled="true"><properties><addname="PostalCode"/><groupname="Address"><addname="Street"/><addname="City"/><addname="CountryOrRegion"/></group></properties></profile>演示和練習(xí):運(yùn)用自定義的屬性類型多媒體演示特性化配置供應(yīng)程序默認(rèn)特性化配置供應(yīng)程序運(yùn)用AspNetSqlProfileProvider的實(shí)例通過運(yùn)行Aspnet_regsql.exe叮囑來創(chuàng)建數(shù)據(jù)庫自定義特性化配置供應(yīng)程序須要在特性化配置供應(yīng)程序不支持的數(shù)據(jù)源中存儲特性化配置信息須要運(yùn)用不同于.NETFramework包含的供應(yīng)程序所運(yùn)用的數(shù)據(jù)庫架構(gòu)來管理特性化配置信息主題和外觀ASP.NET主題和外觀概述定義、應(yīng)用主題和外觀定義主題和外觀在頁面或配置文件中運(yùn)用主題演示和練習(xí):定義和運(yùn)用ASP.NET主題以編程方式應(yīng)用ASP.NET主題演示和練習(xí):通過Profile保存用戶運(yùn)用過的主題主題設(shè)置的優(yōu)先級演示和練習(xí):主題優(yōu)先級ASP.NET主題和外觀概述定義主題是屬性設(shè)置的集合,運(yùn)用這些設(shè)置可以定義頁面和控件的外觀,然后在某個Web應(yīng)用程中的全部頁、整個Web應(yīng)用程序或服務(wù)器上的全部Web應(yīng)用程中一樣地應(yīng)用此外觀外觀是主題的主要構(gòu)成元素之一,通過外觀我們可以對服務(wù)器控件(例如,Button、Label、TextBox或Calendar控件)進(jìn)行屬性和樣式的設(shè)定主題的組成外觀級聯(lián)樣式表主題圖形和其他資源主題的類型頁面主題:放在站點(diǎn)的App_Themes書目下,在本站點(diǎn)內(nèi)運(yùn)用全局主題:全局主題存儲在Web服務(wù)器的名為Themes的全局文件夾中,全部Web服務(wù)器上的站點(diǎn)都可以運(yùn)用定義主題和外觀只能設(shè)置那些其ThemeableAttribute屬性(Attribute)設(shè)置為true(在控件類中)的屬性(Property)顯式地指定控件行為類屬性或其它不接受通過主題設(shè)置的屬性創(chuàng)建主題創(chuàng)建頁面主題:在站點(diǎn)的App_Themes書目下創(chuàng)建主題創(chuàng)建全局主題:在iisdefaultroot\aspnet_client\system_web\version\Themes書目下創(chuàng)建主題創(chuàng)建外觀:在設(shè)計(jì)視圖中設(shè)計(jì)好控件的樣式,然后復(fù)制到.skin文件中在頁面或配置文件中運(yùn)用主題對站點(diǎn)應(yīng)用主題:在Web.config中將<pages>元素設(shè)置為全局主題或頁面主題的主題名稱對單個頁應(yīng)用主題:將@

Page指令的Theme或StyleSheetTheme屬性設(shè)置為要運(yùn)用的主題的名稱對控件應(yīng)用外觀:主題中定義的外觀應(yīng)用于已應(yīng)用該主題的應(yīng)用程序或頁中的全部控件實(shí)例對控件應(yīng)用命名外觀:設(shè)置控件的SkinID屬性來引用外觀演示和練習(xí):定義和運(yùn)用ASP.NET主題多媒體演示以編程方式應(yīng)用ASP.NET主題以編程方式應(yīng)用頁面主題:在頁面的PreInit方法的處理程序中,設(shè)置頁面的Theme屬性以編程方式應(yīng)用樣式表主題:重寫StyleSheetTheme屬性,然后在get訪問器中返回樣式表主題的名稱以編程方式應(yīng)用控件外觀:在頁面的PreInit方法的處理程序中,設(shè)置控件的SkinID屬性Page.Theme="BlueTheme"publicoverrideStringStyleSheetTheme{get{…}}演示和練習(xí):通過Profile保存用戶運(yùn)用過的主題多媒體演示主題設(shè)置的優(yōu)先級在頁面中引用主題優(yōu)先于在Web配置文件中引用主題對于控件而言,運(yùn)用默認(rèn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論