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屬性使用,也可以通過頁面使用。

按照配置文件中的定義添加文本框以接受用戶輸入,並添加一個用於提交數據的按鈕:

ASP.NET個性化

更新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等技術