在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
/Files/geniushuai/MultiLanguage.rar 首先可以参考一下(有比较详细的归纳): http://www.cnblogs.com/aierong/archive/2008/11/25/culture.html 这里我只说我的应用。 了解一个名词:表达式语法 ASP.NET 表达式的基本语法如下: 下面演示表达式语法在连接字符串和应用程序设置的应用: a.表达式语法在连接字符串的应用 <configuration>
<appSettings> 其实表达式语法还有一个重要的应用,就是在资源文件中的使用,而资源文件正是我实现本地化的基础.
区域性的格式设置 区域性通常分为三个类型:固定区域性、非特定区域性和特定区域性。 区域性是有层次结构的,即特定区域性的父级是非特定区域性,而非特定区域性的父级是InvariantCulture 利用ASP.NET2.0可轻松地逐页更改区域性设置 要想对站点中的所有页面都设置相同的区域性设置,只需将以下元素添加到位于站点的根处的web.config文件中即可,这样就不必分别为每个页面进行分配了 还可以为ASP.NET指定一个默认区域性 Culture:指示页的区域性设置
B.设置语言首选项 using System.Threading; protected override void InitializeCulture ( ) 注意:对Thread.CurrentThread.CurrentCulture和 Thread.CurrentThread.CurrentUICulture所做的更改需要在InitializeCulture()方法中进行,因为 对首选浏览器语言的自动检测是在页生存期的早期发生的 特别提示: Thread类的CurrentCulture属性用来获取或配置当前线程的区域性,它必须被配置为特定区域性。 2.多语言的实现其实实现是比较简单的,只需要下面几个步骤 1.创建全局资源表 2.在session中存放表示当前的culture的变量,如“en-us”,"zh-cn" 3.创建所有页面的基类PageBase,覆盖InitializeCulture函数 4.页面上的文本值, 表达式语法赋值
添加两个全局资源表 Strings.resx和Strings.en-us.resx(注意-后面的字符要符合RFC 1766标准,没带后缀的话就是默认值)
如下图: PageBase
1using System;
2using System.Collections.Generic; 3using System.Linq; 4using System.Web; 5using System.Globalization; 6
基本页面:
1using System;
2using System.Collections.Generic; 3using System.Linq; 4using System.Web; 5using System.Web.UI; 6using System.Web.UI.WebControls; 7using System.Globalization; 8public partial class _Default :PageBase 9 简单的一个多语言的例子 缺点:切换语言时需要load两次 建议:可以利用ajax请求修改完session值后在执行window.location=window.self.location; 如:
1 function PageRefresh(language)
2 }
代码下载:vs2008 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论