asp.net全球化——让你的网站在中英文中自由切换
来源:互联网 发布:镇魔曲手游数据库 编辑:程序博客网 时间:2024/04/28 14:02
由于最近的一笔单子,为客户做的是代理签证、办理移民的网站,需要用到中英文切换,把我这个从未涉及过这一领域的人儿给小小的吓住了。不过吓归吓,还是要着手做的嘛。
中文的、英文的、百度上、谷歌上,到处搜这方面的资料,终于有点明白这属于全球化。
先是研究在web.config里加上
<system.web> <globalization Culture="en-us" UICulture="en-us" /> </system.web>
接下来在研究如何通过代码修改这个值的时候,这条路没走得下去。
不死心,接着研究通过App_GlobalResources的方式,添加中英文的资源文件。终于算是走对一半了,可是最后遇到的问题是,用以下这样的代码要么只显示中文,要么只显示英文,把我给气得。
Text="<% $ Resources:Resource, UserName %>"
查看当前页面的culture值是什么,又是我想要的那个,为什么就是不变呢。
可是如果我在头部加上以下的代码的时候,改中文是中文,改英文是英方,我就奇了怪了,问题出在哪里了。
<%@ Page Culture="en-us" UICulture="en-us" %>
其实也是要感谢两篇文章
一是http://blog.csdn.net/rowland001/article/details/17279471
二是http://msdn.microsoft.com/zh-cn/library/bz9tc508(v=vs.80).aspx
其实前几天就看过第二篇文章,没有在意,今天再回看,突然明白了。
<%@ Page Language="VB" uiculture="auto" %><%@ Import Namespace="System.Threading" %><%@ Import Namespace="System.Globalization" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><script runat="server"> Protected Overrides Sub InitializeCulture() If Request.Form("ListBox1") IsNot Nothing Then Dim selectedLanguage As String = _ Request.Form("ListBox1") UICulture = Request.Form("ListBox1") Culture = Request.Form("ListBox1") Thread.CurrentThread.CurrentCulture = _ CultureInfo.CreateSpecificCulture(selectedLanguage) Thread.CurrentThread.CurrentUICulture = New _ CultureInfo(selectedLanguage) End If MyBase.InitializeCulture() End Sub</script><html><body> <form id="form1" runat="server"> <div> <asp:ListBox ID="ListBox1" runat="server"> <asp:ListItem Value="en-US" Selected="True">English</asp:ListItem> <asp:ListItem Value="es-MX">Español</asp:ListItem> <asp:ListItem Value="de-DE">Deutsch</asp:ListItem> </asp:ListBox><br /> <asp:Button ID="Button1" runat="server" Text="Set Language" meta:resourcekey="Button1" /> <br /> <asp:Label ID="Label1" runat="server" Text="" meta:resourcekey="Label1" /> </div> </form></body></html>
受这段代码的启发,我最后是这样成功滴。
先在项目中添加这个文件夹,同时创建两个资源文件,一个中文,一个英文。
以下是两个资源文件的内容 :
我在要用的时候是这样滴
<asp:Literal ID="Literal14" Text="<% $ Resources:Resource, UserName %>" runat="server"></asp:Literal>
在app_code里增加一个basepage文件,如下所示:
最后,在每一个需要引用的页里修改
本来引用的system.web.ui,page,现在改成引用basepage.
页面上,想怎么换就怎么换啦。
Master页里增加:
<a href="?currentculture=zh-cn">中文(中国)</a><a href="?currentculture=en-us">English(USA)</a>
页面效果看一看:
- asp.net全球化——让你的网站在中英文中自由切换
- 在ASP.NET 1.1 中实现全球化的应用
- 在ASP.NET 1.1 中实现全球化的应用
- .net 网站中英文切换
- 在ASP.Net中配置使用全球化统一编码
- [SEO]让你的Asp.Net网站自动生成Sitemap——XmlSitemap
- 让你的Qt Creator在多个版本间自由切换
- ASP.NET的全球化体系结构
- ASP.NET 的全球化体系结构
- ASP.NET 的全球化体系结构
- ASP.NET的全球化配置
- 让你的ASP.NET虚拟主机也支持子网站
- 让你的ASP.NET虚拟主机也支持子网站
- 让你的ASP.NET虚拟主机也支持子网站
- 让你的ASP.NET虚拟主机也支持子网站
- 让你的ASP.NET虚拟主机也支持子网站
- ASP.NET让你的网站增加RSS订阅功能
- 让你的ASP.NET虚拟主机也支持子网站
- Android大图片裁剪终极解决方案(下:拍照截图)
- Java AES 加密 解密 示例
- Apache MINA 2.0 简单应用示例及与Spring的集成
- 【译】如何使用Android MediaStore裁剪大图片
- 内存泄露检测工具Using Visual Leak Detector
- asp.net全球化——让你的网站在中英文中自由切换
- gedit取消临时文件
- 图解用Win7+apache+mysql+phpnow搭建本
- JetBrains的pycharm修改IDE的字体大小
- PostgreSQL学习手册(PL/pgSQL过程语言)
- 20131211,微软12月11日发布11个安全补丁
- Android中Bitmap和Drawable
- 【小宝解惑】虚函数和纯虚函数的作用与区别
- Android_开源框架_JPush极光推送