熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP.NET 2.0中構造個性化網頁[2]

2013-11-13 11:05:53  來源: .NET編程 
    在aspnet 只需要簡單在頁面aspx頭部的@page頁增加兩個新的屬性CultureUICultrue 則WEB應用程序會自動在運行時根據預先設定好的資源文件自動顯示相應語言的頁面如下面程序段所示

<%@ Page Language=VB
Culture=auto UICulture=auto
AutoEventWireup=false CompileWith=Defaultaspxvb
ClassName=Default_aspx meta:resourcekey=PageResource %>
  為了測試程序打開IE浏覽器將語言設置選定為中文運行程序則可以看到程序自動調用了中文資源文件顯示出來的頁面語言是中文而不是默認的英文(因為我們默認的defaultaspx是調用英文資源文件的)如下圖


  上面的程序中我們只是利用了資源文件的特性而已下面我們將實現讓程序記住用戶每次選擇語言就象google那樣記住用戶每次的選擇後下次用戶在浏覽頁面時就會使用該語言的頁面了

  首先要實現這樣的功能我們必須使用aspnet 中新提供的profile功能Profile可以利用數據庫存儲關於用戶的個性化信息有點象session對象但session對象是有生存期的在生存期後session對象自動失效了而profile不同除非顯式移除它要實現profile功能必須先在webconfig中進行定義如下

<systemweb>
<profile>
<properties>
<add name=language type=string/>
<group name=Info
<add name=DateSelected
type=SystemDateTime/>
<add name=LastModified
type=SystemDateTime/>
</group>
</properties>
</profile>
  要使用profile屬性可以這樣

Profilelanguage = enUS
ProfileInfoLastModified = Now
ProfileInfoDateSelected = CalendarSelectedDate
  在webcongfig中將會定義一些屬性/值分別存貯將要保存的變量和值比如lastmodified屬性定義其值是datatime類型如此類推而<group>標簽則是將一些相同或類似功能的變量值放在一起在beta profile是利用access數據庫來保存這些值的

  我們為了要讓用戶每次在下拉框中選擇要用的語言並將其保存起來所以在提交按鈕中寫入如下代碼

Sub btnSet_Click(ByVal sender As Object _
ByVal e As SystemEventArgs)
 Profilelanguage = ddlLanguageSelectedItemValue
End Sub
  而為了記錄用戶每次選擇日歷中的日期我們則利用profileinfodateselected屬性來記錄並且用ProfileInfoLastModified記錄下用戶每次選擇日歷中日期時的時間如下代碼

[]  []  []  []  


From:http://tw.wingwit.com/Article/program/net/201311/15156.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.