[置頂] Asp.net中實現多語言的Page的擴充的基類

來源:互聯網
上載者:User

     在開發的過程很多項目需要實現多語言,特別是外企中開發的系統一般都是好幾個語言的版本,我們以前開發項目時也需要實現多語言的功能

因此我們寫了個Page類的擴充類,讓每一個要實現多語言的頁面都繼承它。該類的實現如下:

 /// <summary>
/// Summary description for WebPageBase
/// </summary>
public class WebPageBase : System.Web.UI.Page
{
    public WebPageBase()
    {
        
    }

    protected override void InitializeCulture()
    {

        //設定初始的語言為日文
        string lang="ja-JP";
        if (!string.IsNullOrEmpty(Convert.ToString(Request["Lang"])))
        {
            lang = Convert.ToString(Context.Session["lang"]);
            Lang = lang;
        }
        else
        {
            lang = Convert.ToString(Context.Session["lang"]);
            Lang = lang;
        }

        // Culture 屬性用於協助本地化頁內容。可以將其設定為任何有效地區性 ID。

        //例如,en-us 地區性 ID 將頁設定為美國英語,而 fr 地區性 ID 將頁設定為法語。

        //還可以將該值 設定為 auto,從而自動檢測瀏覽器的慣用語言並設定該語言。可

        //以用預設值(如 auto:en-us)限定自動語言偵測。        

        UICulture = lang;
        Culture = "";       

        base.InitializeCulture();
    }

    protected string Lang
    {
        get { return Convert.ToString(Context.Session["lang"]); }
        set { Context.Session["lang"] = value; }
    }
}

這個類的代碼就這麼簡單,想要實現多語言的頁面繼承它即可。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.