商务合作:179001057@qq.com

用资源文件实现Asp.net程序的不同语言间的切换

技术2022-05-11  0


某平台价值19860元的编程课程资料免费领取【点我领取】


在as.p.net程序中资源文件(Resource)分为两种,一种是全局资源(GlobalResource),还一种是本地资源(LocalResource)

 

我们做一个Test1.aspx页面来测试,这个页面上只有一个Label  lblHello。

1.使用GlobalResource

   添加GlobalResource。添加GlobalResource文件夹,在下面添加资源文件,比如aaa.resx,添加字符串"strhello","你好"。 再添加一个aaa.en-us.resx,添加字符串"strhello","Hello"。

   读取GlobalResource。可以通过HttpContext.GetGlobalResourceObject("aaa", "strHello");

System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("zh-cn");//用英文的话换成"en-us" Thread.CurrentThread.CurrentUICulture = culture;//设置当前语言区域 object obj = HttpContext.GetGlobalResourceObject("aaa", "strHello"); if (obj != null) { lblHello.Text = obj.ToString(); } //lblHello.Text = Resources.aaa.strHello; //也可以这样读取

 

2.使用LocalResource

   添加LocalResource。先添加一个App_LocalResources文件夹,然后添加一个和页面名称一样的.resx文件,比如页面叫“Test1.aspx”,那在App_LocalResources文件夹下面建一个Test1.aspx.resx,里面加一条记录"strhello","你好"。 Test1.aspx.en-us.resx加记录"strhello","Hello"。

    读取LocalResource:

    System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("zh-cn");//用英文的话换成"en-us" Thread.CurrentThread.CurrentUICulture = culture;//设置当前语言区域 object obj = HttpContext.GetLocalResourceObject("~/Test1.aspx", "strHello"); //object obj = GetLocalResourceObject("strHello");//也可以直接这样读取 if (obj != null) { lblHello.Text = obj.ToString(); }


最新回复(0)