多国技术总结

 

一开始我是先研究了System.Globalization.Cultureinfo与System.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()方法,不说大家都看得明白。

 

3:Label5.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。

转载于:https://www.cnblogs.com/yaoguobiao/archive/2006/04/05/367815.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值