程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> ASP.NET 2.0 本地化技術之研究(二)

ASP.NET 2.0 本地化技術之研究(二)

編輯:.NET實例教程
ASP.Net 2.0 本地化技術之研究的回復中提到了以下兩點:

1.這只是單個頁面的切換,如何做整個站點的切換呢?( hjh )
2.關於如何將資源直接顯示……既然控件能夠將嵌入dll的資源直接顯示,不知道網站能否也將嵌入資源直接調用WebResource顯示呢?(Cat Chen

由於不是一兩句可以說清,所以再開一篇仔細講一下。


內容列表:

1.整站本地化資源的切換
2.使用ProFile保存用戶選擇的語言
3.關於WebResource的使用
4.代碼下載

1.整站本地化資源的切換

在上一篇裡我們講到,可以通過重載頁面的InitializeCulture函數,在其中切換當前線程的CurrentUICulture和CurrentCulture來實現本頁的資源切換。那麼整站呢?總不能在每個頁面裡都寫上這幾句吧。。。

首先,我想到的是使用MasterPage,如果在MasterPage裡加上資源切換的代碼,那麼所有使用該母板的頁面都具備這種能力了吧,呵呵(想得不錯)。但如意算盤打破了,MasterPage是使用@Master來聲明的,根本和Page是兩個繼承路線,所以MasterPage裡沒有InitializeCulture這個虛函數!

沒辦法,想到了另一個解決方案,創建一個從System.Web.UI.Page繼承下來的基類,在其中實現資源切換,而站內所有頁面的實現類都從該類繼承。OK,就這麼辦!

打開上一篇完成的網站,選中網站,右鍵在彈出菜單中點擊[添加ASP.Net文件夾]-[App_Code]。
選中該文件夾,右鍵點擊[添加新項],在彈出式窗口中選擇“類”,命名為LocalizedPage.cs,點擊[添加]完成,如圖所示:


編輯LocalizedPage.cs,代碼如下:

using System;
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved