博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.NET多语言切换,配置
阅读量:5295 次
发布时间:2019-06-14

本文共 1659 字,大约阅读时间需要 5 分钟。

法一:

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);

          }

转载于:https://www.cnblogs.com/wybshyy/p/5847953.html

你可能感兴趣的文章
关于在Idea 创建Maven项目时,无法在source文件下创建servlet文件问题解决!
查看>>
对 HTTP 304 的理解
查看>>
深入理解css中的margin属性
查看>>
C++ 删除字符串的两种实现方式
查看>>
电容选型
查看>>
ORA-01502: 索引'P_ABCD.PK_WEB_BASE'或这类索引的分区处于不可用状态
查看>>
Spring EL hello world实例
查看>>
百度地图API地理位置和坐标转换
查看>>
MyBatis学习总结(六)——调用存储过程
查看>>
code-代码平台服务器路径
查看>>
离线安装 Visual Studio Express 而不下载整个镜像文件的方法(转载)
查看>>
2014年国际数学家大会台历
查看>>
2017-2018-2偏微分方程复习题解析10
查看>>
Java抽象类和接口的比较
查看>>
web技术工具帖
查看>>
一次性搞明白 service和factory区别
查看>>
select下拉二级联动
查看>>
iOS UI控件5-UIPickerView
查看>>
深入Java虚拟机读书笔记第三章安全
查看>>
素数筛选法
查看>>