2008年11月9日 星期日

ASP.NET 專案的 Profile

如果你使用Visual Studio的 File --> New Web Site 來設計專案時, Web.config定義好Profile 的屬性並存檔之後, 在程式中使用Profile 會有Intellisence 自動列表相關屬性.

WebSite模式是將profile的properties 建立成一個Strongly Type, 請看下圖:

建立成一個Strongly Type

可是如果使用File --> New Project , 建立ASP.NET Web Application時, Web.config定義好Profile 的屬性並存檔之後, 在程式中使用Profile, Intellisence 所列表的資訊竟與前者完全不同, 而且並沒有定義好的屬性... 真是傷腦筋!!

用Object Browser 完全看不到Strongly type 的Profile類別...

2

這難道就不能用Profile 的功能了嗎? 答案: 並不是...

只是寫起來真的很麻煩, 必須使用HttpContext.Current.Profile的SetPropertyValue及GetPropertyValue存取屬性內容.

例如, 修改FirstName 的屬性

HttpContext.Current.Profile.SetPropertyValue ("FirstName", "Lisa")

讀取FirstName的屬性

Dim FName As String = HttpContext.Current.Profile.SetPropertyValue ("FirstName").ToString()

 

Ps.這是上課時同學發現Profile 沒有IntelliSense, 仔細看一下Soluction Explorer 才發現是專案模式而不是Web Site模式....但還是感到相當意外, 竟然在專案模式下的Profile不是Strongly type..., 只好用原始方式找答案.

Ps.用VS2005與VS2008 的Project 模式的Profile 都不是Strongly type.

沒有留言:

張貼留言