在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(); }