• .NET多语言切换,配置


    法一:

    1.

    1>在每个页面中

    <%@page %>中引入Culture="auto" UICulture="auto"

    如:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Culture="auto" UICulture="auto"%>

     2>web.Config中配置。

           这样无需再每个页面中配置

            <system.web>

              <globalizationculture="auto"uiCulture="auto"/>

            </system.web>

    2.添加资源文件  Resource.resx:中文文件,其中的内容名称为控件ID,值为中文

                   Resource.en.resx:英文文件,其中的内容名称为控件ID,值为英文

     注意:资源文件名是规定好的。

           资源文件必须在系统的App_GlobalResources文件夹中(右击解决方案下的一行,添加ASP.NET文件夹添加App_GlobalResources文件夹)

     

    3.需要多语言的控件其Text=“<%$ Resources:Resource,Label1 %>   其中  Resource既为资源文件的第一个单词,Label1为控件的ID    

       如:<asp:Label ID="Label1" runat="server" Text="<%$ Resources:Resource,Label1 %>"></asp:Label>

     

    4. 从前台传标志为中文或英文的标志给后台,由于利用的是改变电脑的默认语言去读取不同资源文件的。所以传给后台的标志也是规定好的。

     

       这里利用DropDownList向后台传值,将DDL的选中的VALUE值传给后台。

    若多个页面要用可以将其值写入Session

     

      如:<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true">

                <asp:ListItem Selected="True" Value="zh-CN">中文</asp:ListItem>

                <asp:ListItem Value="en-US">english</asp:ListItem>

            </asp:DropDownList>

      5.后台处理。

    应为需要翻译需要在页面加载前执行,覆盖方法InitializeCulture();

    设置电脑的默认语言。

    如:

    string lan = Request["DropDownList1"];//取DDl的Value值

    Session[“lan”]=lan;

            if(!string.IsNullOrEmpty(lan)){//若Value值不为空,设置电脑的默认语言。

                Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(lan);

                Thread.CurrentThread.CurrentUICulture = new CultureInfo(lan);

    }

     

     

    6.其他页面要用时就可以先执行方法InitializeCulture();

    string lan = Session[“lan”]//取DDl的Session值

            if(!string.IsNullOrEmpty(lan)){//若Value值不为空,设置电脑的默认语言。

                Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(lan);

                Thread.CurrentThread.CurrentUICulture = new CultureInfo(lan);

              }

  • 相关阅读:
    [POJ 2096]Collecting Bugs
    [SPOJ 375]Query on a tree
    [BZOJ 4423][AMPPZ2013]Bytehattan
    [BZOJ 2038][2009国家集训队]小Z的袜子(hose)
    [SDOI 2017]数字表格
    [NOI 2010]能量采集
    [HNOI 2014]世界树
    [HNOI 2016]序列
    [HNOI 2016]大数
    [HEOI 2014]大工程
  • 原文地址:https://www.cnblogs.com/wybshyy/p/13783859.html
Copyright © 2020-2023  润新知