在用戶通過UserLogin.aspx登錄系統時 提供其對語言的選擇
選擇后 將所選存入Session 以便登錄系統后的其他頁面進行按語言顯示
當然相關頁面需要支持多語言
具體信息可參看
使用 根據語言環境不同 而顯示不同的 資源本地化 ASP.NET 網頁
App_Code下定義基頁類 BasePage.cs


using?System;
using?System.Data;
using?System.Configuration;
using?System.Web;
using?System.Web.Security;
using?System.Web.UI;
using?System.Web.UI.WebControls;
using?System.Web.UI.WebControls.WebParts;
using?System.Web.UI.HtmlControls;
using?MyStudy.BLL;
using?System.Threading;
using?System.Globalization;
namespace?MyStudy.Common
{
????///?<summary>
????///?BasePage的摘要說明
????///?</summary>
????public?class?BasePage?:?System.Web.UI.Page
????{
????????public?BasePage()
????????{
????????????//
????????????//?TODO:?在此處添加構造函數邏輯
????????????//
????????}
????????
????????//各子頁可公用的相關信息
????????public?string?MyCommonInfo
????????{
????????????get
????????????{
????????????????//

????????????????return?"";
????????????}
????????}
????????//處理用戶所選擇的語言種類
????????protected?override?void?InitializeCulture()
????????{
????????????if?(Session["myCurrentUICulture"]?!=?null?&&?Session["myCurrentCulture"]?!=?null)
????????????{
????????????????if?(Session["myCurrentUICulture"].ToString()?!=?""?&&?Session["myCurrentCulture"].ToString()?!=?"")
????????????????{
????????????????????System.Threading.Thread.CurrentThread.CurrentUICulture?=?CultureInfo.CreateSpecificCulture(Session["myCurrentUICulture"].ToString());?//"en";?
????????????????????System.Threading.Thread.CurrentThread.CurrentCulture?=?CultureInfo.CreateSpecificCulture(Session["myCurrentCulture"].ToString());?//"en";?
????????????????}
????????????}
????????????base.InitializeCulture();
????????}
????}
}
?
那么登錄頁面的示例代碼為:


public?partial?class?UserLogin?:?BasePage
{
????protected?void?Page_Load(object?sender,?EventArgs?e)
????{?
????????if?(!IsPostBack)
????????{
????????????if?(Session["myCurrentUICulture"]?!=?null?&&?Session["myCurrentCulture"]?!=?null)
????????????{
????????????????if?(Session["myCurrentUICulture"].ToString()?!=?""?&&?Session["myCurrentCulture"].ToString()?!=?"")
????????????????{
????????????????????this.ddl_Language.SelectedValue?=?Session["myCurrentUICulture"].ToString();//?
????????????????}
????????????}
????????????else
????????????{
????????????????string?str?=?System.Threading.Thread.CurrentThread.CurrentUICulture.ToString();
????????????????this.ddl_Language.SelectedValue?=?str;//?
????????????????Session["myCurrentUICulture"]?=?this.ddl_Language.SelectedValue;
????????????????Session["myCurrentCulture"]?=?this.ddl_Language.SelectedValue;
????????????}
????????}
????}
????protected?void?ddl_Language_SelectedIndexChanged(object?sender,?EventArgs?e)
????{
????????Session["myCurrentUICulture"]?=?this.ddl_Language.SelectedValue;
????????Session["myCurrentCulture"]?=?this.ddl_Language.SelectedValue;
????????Response.Redirect("UserLogin.aspx",true);
????}
}
?
?