惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
云风的 BLOG
云风的 BLOG
Last Week in AI
Last Week in AI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
B
Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
H
Help Net Security
B
Blog RSS Feed
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
Netflix TechBlog - Medium
S
SegmentFault 最新的问题
The Cloudflare Blog
I
InfoQ
美团技术团队
博客园 - 三生石上(FineUI控件)
MyScale Blog
MyScale Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 司徒正美
L
LangChain Blog
A
About on SuperTechFans
T
The Blog of Author Tim Ferriss
Y
Y Combinator Blog

博客园 - Sunny

开发人员一定要加入收藏夹的网站(转载) 我写的一个小程序 tabs研究 dotnetnuke( modules /tabs )权限研究 数据库知识2 数据库学习1 asp.net缓存、企业程序库缓存及格式化日期 - Sunny - 博客园 可爱的外甥女 dotnetnuke 里profile 的使用 怎样写自己的ConfigurationHandler(DOTNETNUKE 研究)? 编写upload程序 远程教育系统总结 项目(多国技术) 总结 循环遍历一个控件方法 页面验证码程序(C#) string与stringbuilder flyweigth享元设计模式与委托总结 dotnetnuke 本地化技术杂谈 怎样获取获取GridView里面的label
多国技术总结
Sunny · 2006-04-05 · via 博客园 - Sunny
 

一开始我是先研究了System.Globalization.CultureinfoSystem.threading.thread这两个类,通过对它们的使用,我们就可以设置当前的文化。

具体代码如下:

       CultureInfo ci = new CultureInfo("zh-CN");//新建一个CultureInfo 实例

            Thread.CurrentThread.CurrentCulture 
= ci;//设置当前线程Culture为所建得实例,culture我所理解得是一些所特定文化得表达方式,如科学技术法,日期等

            Thread.CurrentThread.CurrentUICulture 
= ci;//设置当前ui文化,什么是ui文化,我所理解得是一些界面得布局。比如:中国人习惯从左像右,从上向下得读写方式,而有的国家则不同。

怎样生成本地资源文件?

我们可以新建一个aspx页面,完成后,点击Tools>generate local resource .

结果大家可以看到,在app_LocalResouces文件夹里它为我们自动生成以该页面名称为前缀得resx资源文件。然后你在仔细看看aspx.cs源代码,呵呵,是否有所变化了呢?对,在每个runat"server"控件里,多了一个meta:resourcekey="XXX",这个就是设置当前控件得属性值,所有设置都是放在资源文件中进行。我们把这种设置属性方法称为explicit 方法。

相对的设置方法为implicit 方法。

如:<asp:Literal Text='<% $ Resources: DefaultPageTitle %>' runat="server"></asp:Literal>

大家可以看到implicit 方法的不同。

怎样使用App_GlobalResouces文件夹里的资源文件?

三种方式:

1<asp:Label ID="Label9" runat="server" Text="<%$ Resources:Resource,String1 %>"></asp:Label>

Resource为资源名前缀,如Resouce.es.resx前缀为Resouce

2 Label5.Text = (string)GetGlobalResourceObject("Resource", "string1");

使用GetGlobalResourceObject()方法,不说大家都看得明白。

3Label5.Text = Resources.Resource.String1

直接引用即可,其实现机理不是很清楚。

另外重要得一点需要提一下:

App_GobalResource中每个资源文件可以引用文件,这是2005的一点新特性,感觉非常好。

举个简单例子:

我们有一个xml文件,名称为SupportedCulture.xml,有一个资源文件为Resouce.resx

在资源文件中放入这个xml文件。如何操作?

点击addResouce->add existingFile 即可导入SupportedCulture.xml文件。

如何使用导入的文件?

      private DataSet m_ds = new DataSet();//新建一个dataset实例。

        
string cultures = Resources.Cultures.supportedCultures;//引用xml文件。

            System.IO.StringReader rdr 
= new StringReader(cultures);//新建一个stringReader实例,StringReader继承TextReader。

            m_ds.ReadXml(rdr);
//读取xml文件,放入dataset中。

            rdr.Close();
//关闭rdr。