编程使用资源文件实现多语言页面(In Action)

需求:我们的ASP.NET站点需要提供多语言支持,考虑到我们使用的是ASP.NET2.0,我们可以利用资源文件来实现。

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

NOTE:这里我们使用编程的方法实现,使用其他方法,请参见:

http://msdn2.microsoft.com/en-us/library/c6zyy3s9.aspx

 

接下来我们演示一个简单的例子

Steps:

 

Step1:Visual Studio2005中创建一个ASP.NET站点

Step2:在网站项目中添加App_GlobalResources

Note:这里我们使用全局资源文件作为演示,本地资源文件操作步骤类似,关于全局资源文件与本地资源文件的异同,请参见

http://msdn2.microsoft.com/en-us/library/ms227427.aspx

Choosing Between Global and Local Resource Files这一段

Step3:App_GlobalResources中添加项,选择Resource File模板,取名为Site.resx

Note:这是我们的默认语言资源文件,必须要有

在这个资源文件的键/值配对中写入:

Name : btnSubmitText

Value: Submit

 

Step4:增加我们需要的各种语言的资源文件,这里我们增加两个文件

Site.zh-CN.resx

在这个资源文件的键/值配对中写入:

Name : btnSubmitText

Value: 确定

Site.en-US.resx

在这个资源文件的键/值配对中写入:

Name : btnSubmitText

Value: Submit

 

Note:这里给资源文件取名的时候,需要按照如下格式:

[Class]. [Culture Name].resx

比如说Site.zh-CN.resx

关于Culture Name请参见MSDNCultureInfo类中的Remarks部分

 

Step5:在我们的Default页面中添加一个Button控件,IDbtnSubmit

Step6:在我们的Default页面中添加两个Button控件,IDbtnChinese,btnEnglish,Text为中文,English

btnChineseClick事件方法中,添加代码:

None.gif        Thread.CurrentThread.CurrentUICulture = new CultureInfo("zh-CN");
None.gif        btnSubmit.Text 
= Resources.Site.btnSubmitText;
None.gif

btnEnglishClick事件方法中,添加代码:

None.gif        Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
None.gif        btnSubmit.Text 
= Resources.Site.btnSubmitText;
None.gif

Note:如果我们不在代码里指定当前线程的CurrentUICulture,那么程序就会根据浏览器中的设置进行判断,你可以在IE中的语言设置中进行默认设置。

 

OK, 我们可以运行了。

UAT就让大家来做吧,呵呵。不出所料,一切都如我们所预料的运行。

 

 

By the way, 最近发的几篇文章难度都不是很高,其实重要的是告诉大家一种可以选择的方法,或是大家都不是很注意的一些知识点, 引导大家如果有需要继续去发掘,MSDN里有的内容,我就简要介绍或者直接给出链接,那样就不会显得文章庞大臃肿,让大家集中注意力在某一些点上。Enjoy it J

 

PS:欢迎大家加我的MSN或者QQ讨论.NET 2.0(主要是C#2.0ASP.NET2.0).NET3.0,发现我加入的几个QQ群都还挺少有人讨论这两个版本的内容的。还有一些朋友问我的很多问题,其实通过查找MSDN都可以找到答案跟示例,所以我的建议是,首先通过自己查找资料寻找解决方案。还有一些朋友直接向我要源码,或者说让我做一个MSDN示例里已经有代码的演示Project,那我的建议是,你还是自己先去尝试着做吧,我做好给你,你再看肯定没有你自己做一边效果来的好。

转载于:https://www.cnblogs.com/wdxinren/archive/2006/09/07/497686.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/412065.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[vue] vue怎么获取DOM节点?

[vue] vue怎么获取DOM节点&#xff1f; 1、document.getElementById("id")2、this.$refs.xx还有一些特殊的&#xff0c;比如this.$root、this.$parent、this.$children个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一…

java final内存机制_Java中的内存处理机制和final、static、final static总结

装载自&#xff1a;http://blog.csdn.net/wqthaha/article/details/20923579Java程序运行在JVM上&#xff0c;可以把JVM理解成Java程序和操作系统之间的桥梁&#xff0c;JVM实现了Java的平台无关性&#xff0c;由此可见JVM的重要性。所以在学习Java内存分配原理的时候一定要牢记…

[vue] vue过渡动画实现的方式有哪些?

[vue] vue过渡动画实现的方式有哪些&#xff1f; 1.使用vue的transition标签结合css样式完成动画 2.利用animate.css结合transition实现动画 3.利用 vue中的钩子函数实现动画个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很…

MySQL中的字符集涵义及使用方法总结(二)

五.乱码的避免最好让上述9个字符集变量值保持一致&#xff0c;或者至少“兼容”&#xff0c;同时也要考虑到OS中locale的值。当然&#xff1a;character_set_system例外&#xff0c;它是存储和表示元信息使用的字符集&#xff0c;一般都是ascii串&#xff0c;使用utf8和使用lat…

vim 多行添加注释,取消注释

转发 已经验证 https://blog.csdn.net/SuiXin_123/article/details/81393397转载于:https://www.cnblogs.com/pingg/p/10509301.html

c java c时间格式处理_c:foreach 对时间类型进行格式化

程序(三)Input parameters:Date: 2004/04/01:13:30:00Java format: Thu Apr 01 13:30:00 CST 2004isoDate: 20040531T235959Java format: Mon May 31 23:59:59 CDT 200DatesTag OutputAttribute: value; required. Tag has no body. 注释&#xff1a;value属性 日期对象200…

[vue] vue父子组件双向绑定的方法有哪些?

[vue] vue父子组件双向绑定的方法有哪些&#xff1f; 1.利用对象的引用关系来实现 2.父子组件之间的数据传递 3.使用.sync修饰符个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通…

调用未知DLL中的导出函数

不知道诸位看官是否有过这样的经历&#xff1a;在不经意之间发现一个DLL文件&#xff0c;它里边有不少有趣的导出函数——但是由于你不知道如何调用这些函数&#xff0c;所以只能大发感慨而又无能为力焉。固然有些知名的DLL可以直接通过搜索引擎来找到它的使用方式&#xff08;…

Sqlserver内存管理:限制最大占用内存(转载)

https://blog.csdn.net/donghustone/article/details/83338185?tdsourcetags_pcqq_aiomsg 转载于:https://www.cnblogs.com/wangjunwei/p/10510138.html

批处理 java环境_java环境配置简单批处理方法一键OK

Java编程首要工作就是安装JDK(Java Development Kit)。一通NEXT点完安装包后就是最重要的环境变量设置了。也许有人会问为什么要设置环境变量&#xff0c;要理解这点&#xff0c;首先要明白环境变量的作用。环境变量可以简单的理解为路径导向。例如Windows里面的临时文件夹存放…

[vue] vue部署上线前需要做哪些准备工作?

[vue] vue部署上线前需要做哪些准备工作&#xff1f; router 是不是hash 是否需要配置nginx , publicPath , 是不是要配置cdn个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关…

c#2.0的新特性--泛型

c#2.0中引入了许多新的语言特性&#xff1a;比较重要的有4个&#xff0c;泛型&#xff08;Generics&#xff09;、匿名方法&#xff08;Annorymous Methods&#xff09;、迭代器&#xff08;Iterators&#xff09;、和局部类&#xff08;Partial Types&#xff09;. 泛型 是c…

构建之法与博客首秀

问题一&#xff1a;软件的安全功能是指什么呢&#xff1f; 我看了《构建之法》第七页对飞机安全功能的的描述&#xff0c;想知道在软件中是否有类似飞机的安全功能&#xff1f;如果有&#xff0c;具体是指什么功能呢&#xff1f;我在查阅资料后只找到对软件安全的的总结(软件安…

java接口import_深入理解Java架构师在组件注册@Import导入容器(ImportSelector接口)的神操作!...

ImportSelector&#xff1a;返回需要导入的组件的全类名数组创建一个实现了ImportSelector接口的类&#xff0c;然后让入Import中。ImportSelector的实现类包含了所有需要导入到容器中的组件。public class StuConfigurationImportSerlect implements ImportSelector {Override…

[vue] 说说你觉得认为的vue开发规范有哪些?

[vue] 说说你觉得认为的vue开发规范有哪些&#xff1f; 风格指南个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

[vue] vue性能的优化的方法有哪些?

[vue] vue性能的优化的方法有哪些&#xff1f; Vue 项目性能优化 — 实践指南&#xff08;网上最全 / 详细&#xff09; 前言 Vue 框架通过数据双向绑定和虚拟 DOM 技术&#xff0c;帮我们处理了前端开发中最脏最累的 DOM 操作部分&#xff0c; 我们不再需要去考虑如何操作 D…

JavaScript小技巧一

事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcElement.releaseCapture(); 事件按键 event.keyCode event.shiftKey event.altKey event.ctrlKey 事件返回值 event.returnValue 鼠标位置 event.x event.y 窗…

java builder pool_每周10道Java面试题:String, String Pool, StringBuilder

每周10道 Java 面试题由 ImportNew 整理编译自网络。1. 写出下面代码的运行结果。int src 65536;Integer dst new Integer(65536);System.out.println(src dst);System.out.println(dst.equals(src));答案&#xff1a; true true考点&#xff1a; Integer 的 equals 实现。查…

Transactional cannot be resolved to a type

SpringBoot整合Mybatis时遇到“ Transactional cannot be resolved to a type ” &#xff0c;以为是没有导入相应的包 “ import org.springframework.transaction.annotation.Transactional; ” &#xff0c;导入发现还是报错&#xff0c;在Stack Overflow上找到解决办法。在…

[vue] 有在vue中使用过echarts吗?踩过哪些坑?如何解决的?

[vue] 有在vue中使用过echarts吗&#xff1f;踩过哪些坑&#xff1f;如何解决的&#xff1f; vue 没用过echarts react到是用过 不过我想应该差不多 &#xff0c;多注意dom的渲染时机 和chart的实例化时机 在相应的生命周期方法中做操作。结合强制刷新 应该就能解决大部分问题…