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

下載本文檔

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

文檔簡(jiǎn)介

第11章

特性化與主題內(nèi)容特性化配置主題和外觀特性化配置ASP.NET特性化配置特性化配置的用戶標(biāo)識(shí)特性化配置的運(yùn)用特性化配置供應(yīng)程序ASP.NET特性化配置特性化是指對(duì)訪問站點(diǎn)的用戶依據(jù)他們各自的要求供應(yīng)相關(guān)的服務(wù)和界面的呈現(xiàn)風(fēng)格。特性化應(yīng)用程序須要這樣的一些功能:必需運(yùn)用唯一的用戶標(biāo)識(shí)符存儲(chǔ)信息能夠在用戶再次訪問時(shí)識(shí)別用戶,然后依據(jù)須要獲得用戶信息在ASP.NET中,可以便利地完成對(duì)特性化數(shù)據(jù)的存取和運(yùn)用。其基本原理如下:特性化配置功能將信息與單個(gè)用戶關(guān)聯(lián),并接受許久性的格式存儲(chǔ)這些信息通過特性化配置,可以管理各種用戶(匿名用戶、Window認(rèn)證用戶和Form認(rèn)證用戶)信息,而無需創(chuàng)建和維護(hù)自己的數(shù)據(jù)庫ASP.NET會(huì)依據(jù)配置將ProfileCommon類實(shí)例化,并可在應(yīng)用程序的任何位置訪問ASP.NET特性化配置特性化配置的工作方式在Web.config中配置Provider和Profile在程序中設(shè)置和引用該值演示和練習(xí):運(yùn)用Profile保存簡(jiǎn)潔的用戶信息多媒體演示特性化配置的用戶標(biāo)識(shí)通過身份驗(yàn)證的用戶匿名用戶演示和練習(xí):在Web.config中配置保存匿名用戶個(gè)人配置信息遷移匿名特性化配置信息通過身份驗(yàn)證的用戶默認(rèn)狀況下,用戶特性化配置與System.Web.HttpContext.Current.User屬性中存儲(chǔ)的用戶標(biāo)識(shí)關(guān)聯(lián)。用戶標(biāo)識(shí)可通過以下幾方面確定:ASP.NETForms身份驗(yàn)證,在身份驗(yàn)證成功之后設(shè)置用戶標(biāo)識(shí)Windows或Passport身份驗(yàn)證,在身份驗(yàn)證成功之后設(shè)置用戶標(biāo)識(shí)自定義身份驗(yàn)證,對(duì)用戶憑據(jù)的獲得和用戶標(biāo)識(shí)的設(shè)置進(jìn)行手工管理匿名用戶必需在Web.config顯示配置對(duì)匿名用戶的支持可以通過Cookie保存匿名用戶標(biāo)識(shí)假如不能保存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中配置保存匿名用戶個(gè)人配置信息多媒體演示遷移匿名特性化配置信息當(dāng)用戶從匿名用戶轉(zhuǎn)換到被認(rèn)證用戶時(shí),匿名用戶數(shù)據(jù)須要遷移過來遷移的方法:將觸發(fā)Profile_OnMigrateAnonymous事務(wù),所以須要在該事務(wù)處理遷移的動(dòng)作首先獲得匿名用戶特性化配置然后刪除匿名用戶特性化配置信息,刪除匿名用戶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指定一個(gè)布爾值,該布爾值指示是否為匿名用戶托管屬性。默認(rèn)情況下,該屬性為false。如果希望未經(jīng)身份驗(yàn)證的用戶使用該屬性,則可以將該屬性設(shè)置為true屬性定義信息屬性說明defaultValue指定屬性初始化時(shí)使用的值readOnly指定一個(gè)布爾值來指示屬性是否可修改provider指定特定于屬性的提供程序。默認(rèn)情況下,使用為個(gè)性化配置屬性指定的默認(rèn)提供程序?qū)λ袑傩赃M(jìn)行管理,但個(gè)別屬性也可以使用不同的提供程序customProviderData指定一個(gè)包含自定義信息的可選字符串,該字符串將被傳遞運(yùn)用標(biāo)量值將標(biāo)量值(如字符串、數(shù)字值或DateTime值)存儲(chǔ)在特性化配置中僅須要很少的配置,即只需供應(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)用用戶自定義的屬性類型必需支持要存儲(chǔ)在用戶特性化配置中的成員的序列化<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ù)源中存儲(chǔ)特性化配置信息須要運(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)先級(jí)演示和練習(xí):主題優(yōu)先級(jí)ASP.NET主題和外觀概述定義主題是屬性設(shè)置的集合,運(yùn)用這些設(shè)置可以定義頁面和控件的外觀,然后在某個(gè)Web應(yīng)用程中的全部頁、整個(gè)Web應(yīng)用程序或服務(wù)器上的全部Web應(yīng)用程中一樣地應(yīng)用此外觀外觀是主題的主要構(gòu)成元素之一,通過外觀我們可以對(duì)服務(wù)器控件(例如,Button、Label、TextBox或Calendar控件)進(jìn)行屬性和樣式的設(shè)定主題的組成外觀級(jí)聯(lián)樣式表主題圖形和其他資源主題的類型頁面主題:放在站點(diǎn)的App_Themes書目下,在本站點(diǎn)內(nèi)運(yùn)用全局主題:全局主題存儲(chǔ)在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)用主題對(duì)站點(diǎn)應(yīng)用主題:在Web.config中將<pages>元素設(shè)置為全局主題或頁面主題的主題名稱對(duì)單個(gè)頁應(yīng)用主題:將@

Page指令的Theme或StyleSheetTheme屬性設(shè)置為要運(yùn)用的主題的名稱對(duì)控件應(yīng)用外觀:主題中定義的外觀應(yīng)用于已應(yīng)用該主題的應(yīng)用程序或頁中的全部控件實(shí)例對(duì)控件應(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)先級(jí)在頁面中引用主題優(yōu)先于在Web配置文件中引用主題對(duì)于控件而言,運(yùn)用默認(rèn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論