我认为第一种要更好一点~~因为制作简单,读取也方便,只有不到10行代码!
而第二种,貌似代码要用10行来做单位了吧~~
综上,我认为第一种好!
但是这是个人习惯问题!!习惯就是最好的~~
我在我的项目中是这样做的,给你做个参考吧。这个重写的方法你可以直接定义在当前页面的cs文件中。不过我是定义在页面基类中了。网站所有页面继承页面基类,就可以实现统一的多语言控制了。protected override void InitializeCulture()
{
string strCurrentCulture = Request.QueryString["CurrentCulture"]//获取当前语言参数,你也可以从Session、Cookie、全局变量或是控件获取
if (!String.IsNullOrEmpty(strCurrentCulture))
{
try
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo(strCurrentCulture)
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(strCurrentCulture)
UserStaticValue.CurrentCulture = strCurrentCulture
}
catch//如果当前语言参数不合法则默认显示中文
{
strCurrentCulture = "zh-cn"
//UICulture - 决定了采用哪一种本地化资源,也就是使用哪种语言
//Culture - 决定各种数据类型是如何组织,如数字与日期
Thread.CurrentThread.CurrentUICulture = new CultureInfo(strCurrentCulture)
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(strCurrentCulture)
}
}
else
{
strCurrentCulture = "zh-cn"
//UICulture - 决定了采用哪一种本地化资源,也就是使用哪种语言
//Culture - 决定各种数据类型是如何组织,如数字与日期
Thread.CurrentThread.CurrentUICulture = new CultureInfo(strCurrentCulture)
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(strCurrentCulture)
}
}
希望可以帮到你!