ASP.NET個性化
網站設計是爲用戶提供重複訪問的個性化使得網站能夠記住用戶身份和其他信息細節,併爲每個用戶呈現個人化的環境。
ASP.NET提供個性化網站來爲特定客戶的喜好和偏好地提供服務。
瞭解配置文件
ASP.NET個性化服務基於用戶配置文件。 用戶配置文件定義了該網站所需用戶的信息種類。 例如,姓名,年齡,地址,出生日期和電話號碼。
此信息在應用程序的web.config
文件中定義,ASP.NET運行時讀取並使用它。這項工作是由個性化提供程序來完成的。
從用戶數據中獲取的用戶配置文件存儲在由ASP.NET創建的默認數據庫中。 您可以創建自己的數據庫來存儲配置文件。配置文件數據定義存儲在配置文件web.config
中。
示例
下面創建一個ASP.Net空網站示例項目:Personalization ,我們希望應用程序記住用戶詳細信息,如姓名,地址,出生日期等。在web.config
文件中的<system.web>
元素節點下添加配置文件詳細信息。
<configuration>
<system.web>
<profile>
<properties>
<add name="Name" type ="String"/>
<add name="Birthday" type ="System.DateTime"/>
<group name="Address">
<add name="Street"/>
<add name="City"/>
</group>
</properties>
</profile>
</system.web>
</configuration>
在web.config
文件中定義配置文件時,配置文件可以通過當前HttpContext
中的Profile
屬性使用,也可以通過頁面使用。
按照配置文件中的定義添加文本框以接受用戶輸入,並添加一個用於提交數據的按鈕:
更新Page_load
事件方法以顯示配置文件信息:
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
ProfileCommon pc = this.Profile.GetProfile(Profile.UserName);
if (pc != null)
{
this.txtname.Text = pc.Name;
this.txtaddr.Text = pc.Address.Street;
this.txtcity.Text = pc.Address.City;
this.Calendar1.SelectedDate = pc.Birthday;
}
}
}
爲提交按鈕編寫以下處理程序,將用戶數據保存到配置文件中:
protected void Button1_Click(object sender, EventArgs e)
{
ProfileCommon pc = this.Profile.GetProfile(Profile.UserName);
if (pc != null)
{
pc.Name = this.txtname.Text;
pc.Address.Street = this.txtaddr.Text;
pc.Address.City = this.txtcity.Text;
pc.Birthday = this.Calendar1.SelectedDate;
pc.Save();
}
}
`
當頁面首次執行時,用戶需要輸入信息。 但是,下次用戶的詳細信息會自動加載。
add元素的屬性
除了已經使用的名稱和類型屬性之外,還有<add>
元素的其他屬性。下表說明了其中的一些屬性:
編號
屬性
描述
1
name
屬性的名稱。
2
type
默認情況下,類型是字符串,但它允許任何完全限定的類名作爲數據類型。
3
serializeAs
序列化此值時使用的格式。
4
readOnly
只讀配置文件值不能更改,默認情況下該屬性爲false
。
5
defaultValue
如果配置文件不存在或沒有信息,則使用默認值。
6
allowAnonymous
一個布爾值,指示此屬性是否可以與匿名配置文件一起使用。
7
Provider
應該用來管理這個屬性的配置文件提供程序。
匿名個性化
匿名個性化允許用戶在識別自己之前個性化網站。 例如,Amazon.com允許用戶在登錄前添加購物車中的物品。要啓用此功能,可以將web.config
文件配置爲:
<anonymousIdentification enabled ="true" cookieName=".ASPXANONYMOUSUSER"
cookieTimeout="120000" cookiePath="/" cookieRequiresSSL="false"
cookieSlidingExpiration="true" cookieprotection="Encryption"
coolieless="UseDeviceProfile"/>
易百教程移動端:請掃描本頁面底部(右側)二維碼並關注微信公衆號,回覆:"教程" 選擇相關教程閱讀或直接訪問:http://m.yiibai.com 。
上一篇:ASP.NET自定義控件 下一篇:ASP.NET錯誤管理
加QQ羣啦,易百教程官方技術學習羣
QQ羣名稱
羣號
人數
免費
等級
羣介紹
JAVA技術
227270512
2000
否
LV5
Java基礎,JSP(Servlet),JAVA框架,Java高併發架構,Maven等等
MySQL/SQL
418407075
2000
否
LV5
SQL基礎,MySQL基礎,MySQL存儲過程,視圖,觸發器等等
大數據開發
655154550
2000
否
LV5
Spark,zookeeper,kafka,CDH,hive,fulme,hbase等Hadoop雲計算生態圈技術
Python技術
287904175
2000
否
LV5
Python編程,Python Web,Python大數據,Python爬蟲,自然語言處理等
Linux技術
479429477
2000
是
LV1
Redhat/Centos,Ubuntu,Shell,運維,監控等技術
PHP/Web開發者
460153241
1000
是
LV0
PHP基礎,PHP高級,網站優化/架構,JS,HTML,JQuery,前端等Web開發技術
人工智能
456236082
1000
是
LV0
人工智能,深度學習,算法等技術
Oracle數據庫
175248146
1000
是
LV0
SQL基礎,Oracle基礎,Oracle存儲過程,視圖,觸發器等等
Android開發
159629185
1000
是
LV0
Android開發,Android Studio,Kotlin,Dagger等技術
微軟技術
579821706
1000
是
LV0
C#,ASP.Net,VB.Net,ADO.Net,SQL Server,VBA,Excel等技術