1。实现方法
VS中添加包含目录
在该目录中添加两个资源文件Resource.resx, Resource.en-us。resx
资源文件内容如下图所示:
<>强控件中绑定强>
& lt; asp:标签runat=皊erver"ID=" labLogin "文本=? lt; % $资源:资源,LoginTitle %比;“祝辞& lt;/asp: Label>
其中资源为资源文件的文件名,LoginTitle为资源文件中定义的文本项名称
<强>代码中使用强>
this.labLogin。文本=Resources.Resource.LoginTitle;//后台代码中使用
<强>测试强>
可通过如下代码强制页面为英文模式,进行测试(也可以通过更改即设置默认语言)
& lt; % @页面语言=癱#“;AutoEventWireup=皌rue"后台代码=癓ogin.aspx.cs"继承=癈ase.Login"文化=癳n-us"UICulture=癳n-us" & # 160; & # 160;%在
& # 160; & # 160;文件中的资源对象命名约定 resourcekey <代码>。代码> 属性。例如btnLogin.Text,代码结构如下图,指数。aspx是在案件子目录下面,故在案件目录中创建App_LocalResources目录
<强>资源文件内容强>
<强>界面中使用强>
注意红色字体部分:
& lt;形式id=癴orm1"runat=皊erver"祝辞& # 160;
& # 160; & # 160; & # 160; & # 160;& lt; asp:按钮ID=癰tnTest"元:resourcekey=癰tnSubmit"runat=皊erver"/祝辞& # 160;& # 160;& # 160;& # 160;
& lt;/form>
<>强后台代码中使用强>
。Title=GetLocalResourceObject (“PageTitle") .ToString ();
3。实现多语言切换
& # 160; & # 160; & # 160;前台界面实现语言切换,切换后将选择的语言应用或en - us等字符串保存起来(会话、饼干或用户数据表中),页面浏览时先读取到用户的语言,页面中重写InitializeCulture& # 160;函数,绑定语言。
(建议将该函数写在页面基类中继承自页面类,然后所有页面手动更改继承关系,继承自这个基类)
保护覆盖空白InitializeCulture ()
& # 160; & # 160; & # 160; & # 160; & # 160;{
& # 160; & # 160; & # 160; & # 160; & # 160; & # 160; & # 160; & # 160; & # 160;字符串cultureString=癳n-us";//可以根据用户选择的语言,保存到会话/cookie中然后去取
& # 160; & # 160; & # 160; & # 160; & # 160; & # 160; & # 160; & # 160; & # 160;System.Threading.Thread.CurrentThread。CurrentCulture=System.Globalization.CultureInfo.CreateSpecificCulture (cultureString);
& # 160; & # 160; & # 160; & # 160; & # 160; & # 160; & # 160; & # 160; & # 160;System.Threading.Thread.CurrentThread。CurrentUICulture=new System.Globalization.CultureInfo (cultureString); & # 160; & # 160; & # 160; & # 160; & # 160; & # 160; & # 160; & # 160; & # 160;
& # 160; & # 160; & # 160; & # 160; & # 160;}
& # 160; & # 160; & # 160; & # 160; & # 160;保护无效employee(对象发送方,EventArgs e)
& # 160; & # 160; & # 160; & # 160; & # 160;{
& # 160; & # 160; & # 160; & # 160; & # 160; & # 160; & # 160; & # 160; & # 160;this.Page。标题=Resources.Resource.LoginTitle;//后台代码中使用