博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Asp.net中使用资源文件实现网站多语言
阅读量:7032 次
发布时间:2019-06-28

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

首先需要新建一个ASP.NET Web Application.然后右键项目文件Add->Add ASP.NET Folder->App-GlobalResources.

新建好资源文件夹后,向文件夹中添加一个resx文件,我这里是添加一个LocalText.resx文件。

 

如上图所示,设置Name和Value的值。

保存后复制LocalText.resx,粘贴到App_GlobalResources文件夹,重命名为LocalText.zh-CN.resx。

 

同样如图设置Name和Value的值。

在页面中我们可以这样用

<asp:Button ID="submit" runat="server" Text='<%$Resources:LocalText,ButtonText %>' />

然后我们需要定义一个公用类BasePage,BasePage继承自System.Web.UI.Page,页面就继承自BasePage。

在BasePage中我们需要重写InitializeCulture这个方法,详细代码如下:

 

 

        protected override void InitializeCulture()

        {
            string currentCulture = (string)Session["Culture"];
            if (string.IsNullOrEmpty(currentCulture))
            {
                currentCulture = "zh-cn";
                Session["Culture"] = "zh-cn";
            }

            System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(currentCulture);

            System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(currentCulture);

        }

 

 

所有页面加载的时候将会执行这个InitializeCulture方法。

以我新建的Default页面中使用的这个button为例,当用户在中访问Default页面并且带lang=zh-CN时,按钮上面将会显示提交。当用户访问Default页面并且带lang=en-US时,按钮上面将会显示submit。

转载于:https://www.cnblogs.com/fhuafeng/p/3181718.html

你可能感兴趣的文章
使用git命令做版本管理
查看>>
再次开篇
查看>>
Install VM Tools -- kernel header path
查看>>
主机无法访问虚拟机linux上启动的tomcat服务
查看>>
Android中this、super的区别
查看>>
ibatis log4j 配置 显示sql
查看>>
hadoop-2.3.0-cdh5.1.0完全分布式集群配置及HA配置(待)
查看>>
win7 + vs2013 + libiconv.lib
查看>>
drupal的drupal_register_shutdown_function
查看>>
视频取首帧,并保存到SDCard
查看>>
Servlet-获得web.xml配置参数信息
查看>>
Spring初始化容器—实例化bean对象
查看>>
android 自定义系统键盘
查看>>
MySQL 查询优化器(总结)
查看>>
2014年6月28日
查看>>
android读取手机验证码
查看>>
何时进行重构?
查看>>
centos6.2x64系统配置本地yum源
查看>>
Java Strategy 模式简介
查看>>
CDH-cdh5.8.3离线安装--Mysql5.7二进制部署
查看>>