ASP.Net本地化/国际化解决方案原理和代码示例
2012-03-22 20:03
176 查看
解决方案原理:
ASP.NET本地化支持
通过 CultureInfo 类可以访问区域设置的属性。
此外,ASP.NET 基于每个线程和请求跟踪默认区域性的两个属性:用于区域设置相关函数默认值的 CurrentCulture,
和用于区域设置特定的资源数据查找的 CurrentUICulture。
解决方案主要包含几个部分组成:
1:客户设置语言的控件,一般会包含在每个页面,使得用户可以随时切换区域
控件ascx代码
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
<asp:ListItem Text="English Version" Value="en-US"></asp:ListItem>
<asp:ListItem Text="中 文 版" Value="zh-CN"></asp:ListItem>
</asp:DropDownList>
控件CS事件代码
protected void Page_Load(object sender, EventArgs e)
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
public partial class ChangeLanguage : System.Web.UI.Page
protected override void InitializeCulture()
private void setCulture()
try
String selectedLanguage = Request.Cookies[Settings.Default.Cookies_Language].Value;
UICulture = selectedLanguage;
Culture = selectedLanguage;
System.Threading.Thread.CurrentThread.CurrentCulture =
System.Globalization.CultureInfo.CreateSpecificCulture(selectedLanguage);
System.Threading.Thread.CurrentThread.CurrentUICulture = new
System.Globalization.CultureInfo(selectedLanguage);
}
catch //( Exception ex )
Response.Cookies.Clear();// [Settings.Default.Cookies_Language].d
//throw;
}
}
3:当然是为每个页面准备资源文件。
这个是个体力活,
ASPNET.ascx.en.resx 表示英文的
ASPNET.ascx.zh.resx 这个表示中文的,当然还可以分为更加细的区域,比如zh-CN/zh-HK/zh-TW
4:当然要记得,把你的页面都要继承你的基类
public partial class Index : PageBase
ASP.NET本地化支持
通过 CultureInfo 类可以访问区域设置的属性。
此外,ASP.NET 基于每个线程和请求跟踪默认区域性的两个属性:用于区域设置相关函数默认值的 CurrentCulture,
和用于区域设置特定的资源数据查找的 CurrentUICulture。
解决方案主要包含几个部分组成:
1:客户设置语言的控件,一般会包含在每个页面,使得用户可以随时切换区域
控件ascx代码
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
<asp:ListItem Text="English Version" Value="en-US"></asp:ListItem>
<asp:ListItem Text="中 文 版" Value="zh-CN"></asp:ListItem>
</asp:DropDownList>
控件CS事件代码
protected void Page_Load(object sender, EventArgs e)
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
public partial class ChangeLanguage : System.Web.UI.Page
protected override void InitializeCulture()
private void setCulture()
try
String selectedLanguage = Request.Cookies[Settings.Default.Cookies_Language].Value;
UICulture = selectedLanguage;
Culture = selectedLanguage;
System.Threading.Thread.CurrentThread.CurrentCulture =
System.Globalization.CultureInfo.CreateSpecificCulture(selectedLanguage);
System.Threading.Thread.CurrentThread.CurrentUICulture = new
System.Globalization.CultureInfo(selectedLanguage);
}
catch //( Exception ex )
Response.Cookies.Clear();// [Settings.Default.Cookies_Language].d
//throw;
}
}
3:当然是为每个页面准备资源文件。
这个是个体力活,
ASPNET.ascx.en.resx 表示英文的
ASPNET.ascx.zh.resx 这个表示中文的,当然还可以分为更加细的区域,比如zh-CN/zh-HK/zh-TW
4:当然要记得,把你的页面都要继承你的基类
public partial class Index : PageBase
相关文章推荐
- ASP.Net本地化/国际化解决方案原理和代码示例
- ASP.Net本地化/国际化解决方案原理和代码示例
- ASP.Net本地化/国际化解决方案原理和代码示例
- ASP.Net本地化/国际化解决方案原理和代码示例
- ASP.Net本地化/国际化解决方案原理和代码示例
- ASP.Net本地化/国际化解决方案原理和代码示例
- ASP.Net本地化/国际化解决方案原理和代码示例
- ASP.NET的地址重写“.NET研究”(URLRewriter)实现原理及代码示例
- ASP.net的地址重写(URLRewriter)实现原理及代码示例
- ASP.net的地址重写(URLRewriter)实现原理及代码示例
- ASP.net的地址重写(URLRewriter)实现原理及代码示例
- asp.net的地址重写URLRewriter实现原理及代码示例
- 一起谈.NET技术,ASP.NET的地址重写(URLRewriter)实现原理及代码示例
- ASP.net的地址重写(URLRewriter)实现原理及代码示例[转]
- Asp.net 2.0 自定义控件开发专题[详细探讨页面状态(视图状态和控件状态)机制及其使用场景](示例代码下载)
- JavaScript组件之JQuery(A~Z)教程(基于Asp.net运行环境)[示例代码下载]
- ASP.NET中读取XML文件信息的4种方法与示例代码
- Asp.net 2.0 GridView数据导出Excel文件(示例代码下载)
- Asp.net 2.0 实现自定义Email格式有效性验证(示例代码下载)
- [导入]JavaScript组件之JQuery(A~Z)教程(基于Asp.net运行环境)[示例代码下载]