在WEB應用中我們經常要創建個性化的網頁什麼是個性化的網頁呢?舉個例子大家經常使用熟悉的搜索引擎google當我們設置了每次要使用的個性化語言偏好比如使用中文後在下次使用google時則google會出現中文界面的頁面十分方便在aspnet 中我們可以使用profile功能構造象上文提到的google那樣的個性化網頁下面我們舉個例子來說明在該例子中我們建立一個日歷每次用戶可以選擇喜歡的語言(中文英文)設置當用戶選定了語言設置後則下次用戶重新訪問該頁面時則會出現對應語言顯示的頁面
首先我們使用visual studio express beta 創建一個新的web站點使用vbnet語言接著往窗體添加如下控件如下圖
其中分別添加如下控件一個label標簽一個日歷控件一個dropdownlist控件一個button控件而對於dropdownlist控件的設置采用如下方式
·Text Value 目的
·English EnUS 用英文顯示網頁
·Chinese ZhCN 用中文顯示網頁
·Auto Select Auto 根據IE浏覽器中的語言設置自動選擇頁面顯示的語言
接下來我們可以開始設置資源文件了由於我們的這個應用是一個多語言顯示的頁面所以要分別設置對應的英語中文資源文件在visual studio 中選擇工具菜單中的Generate Local Resource(產生資源文件)如下圖所示
當資源文件產生後你會發現在解決方案管理器中當前工程目錄下有一個新的目錄文件夾叫localresources其中defaultaspxresx這個資源文件是defaultaspx這個首頁文件要用到的資源文件(我們默認defaultaspx是用英文顯示)接下來右鍵選定defaultaspxresx文件在彈出的菜單中選擇復制然後再在localresources目錄下選擇粘貼這樣就會復制一個新的資源文件將其改名為defaultaspxzhCNresx這個將作為我們要用到的中文資源文件
接下來我們對資源文件進行編輯比如打開資源文件defaultaspxzhCNresx這時會看到如下圖的資源文件我們可以對其中的中文資源文件進行編輯
在aspnet 中只需要簡單在頁面aspx頭部的@page頁增加兩個新的屬性Culture和UICultrue 則WEB應用程序會自動在運行時根據預先設定好的資源文件自動顯示相應語言的頁面如下面程序段所示
<%@ Page Language=VB
Culture=auto UICulture=auto
AutoEventWireup=false CompileWith=Defaultaspxvb
ClassName=Default_aspx meta:resourcekey=PageResource %>
為了測試程序打開IE浏覽器將語言設置選定為中文運行程序則可以看到程序自動調用了中文資源文件顯示出來的頁面語言是中文而不是默認的英文(因為我們默認的defaultaspx是調用英文資源文件的)如下圖
上面的程序中我們只是利用了資源文件的特性而已下面我們將實現讓程序記住用戶每次選擇語言就象google那樣記住用戶每次的選擇後下次用戶在浏覽頁面時就會使用該語言的頁面了
[] []
From:http://tw.wingwit.com/Article/program/ASP/201311/21914.html