由于最近的一笔单子,为客户做的是代理签证、办理移民的网站,需要用到中英文切换,把我这个从未涉及过这一领域的人儿给小小的吓住了。不过吓归吓,还是要着手做的嘛。

中文的、英文的、百度上、谷歌上,到处搜这方面的资料,终于有点明白这属于全球化。

先是研究在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全球化——让你的网站在中英文中自由切换相关推荐

  1. razor html帮助器,在 ASP.NET 网页(Razor)网站中创建和使用帮助器 | Microsoft Docs

    在 ASP.NET 网页(Razor)网站中创建和使用 Helper 02/17/2014 本文内容 本文介绍如何在 ASP.NET 网页(Razor)网站中创建帮助程序. 帮助器是一种可重用的组件, ...

  2. 【原创】【推荐】《ASP.NET 3.5+SQL Server网站模块化开发全程实录》出版记

    进过半年多的努力,<ASP.NET 3.5+SQL Server网站模块化开发全程实录>一书终于得以由清华大学出版社顺利出版. 第一次出版此类图书,不免其中会有诸多纰漏,还望广大读者不吝指 ...

  3. ASP.NET 网站管理工具中的“安全”制表页

    使用网站管理工具中的"安全"制表页可以对 Web 应用程序特定资源的保护规则进行管理.ASP.NET 使用的安全系统允许你对特定用户帐号或角色的访问权限进行限制.通过"安 ...

  4. ASP.NET.CORE发布后启动网站出现500.19-0x8007000d错误解决方法

    本项目使用的是netcoreapp2.2,缺少的XML文件是swagger.发布采用的是文件系统.依赖框架. 我第一次发布asp.net.core的后台,发布后启动网站出现500.19错误-0x800 ...

  5. ASP.NET实现多域名多网站共享Session值

    在此打个广告:金色海洋的自然框架开源社区QQ群:82598514 ,希望大家多多支持 ASP.NET实现多域名多网站共享Session值   1.实现功能:可设置哪些站点可以共享Session值,这样 ...

  6. asp access服装商城计算机设计网站作品

    基于 asp access开发服装商城动态网站作品,毕业设计网站有前台.会员中心和后台,网站包括产品模块.新闻模块.会员模块.购物模块和订单模块管理员登录后台可以管理前台内容. 开发环境:dreamw ...

  7. asp. net sqlsever旅游管理系统动态网站设计制作作业成品

    模板说明: asp. net sqlsever旅游管理系统动态网站设计制作作业成品.前台: 新闻动态/旅游风景/旅游攻略(列表详情).留言 发布 查看.用户注册登录退出.后台: 用户管理(查看 删除) ...

  8. 【ASP.NET 问题】IIS发布网站后出现 “处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误“的解决办法

    [ASP.NET 问题]IIS发布网站后出现 "处理程序"PageHandlerFactory-Integrated"在其模块列表中有一个错误"的解决办法 参考 ...

  9. C#毕业设计——基于C#+asp.net+SQL server的教学网站及网上考试系统设计与实现(毕业论文+程序源码)——教学网站及网上考试系统

    基于C#+asp.net+SQL server的教学网站及网上考试系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+SQL server的教学网站及网上考试系统设计 ...

最新文章

  1. vue 怎么全局到入常量_午后躺椅上看关于Vue的20点
  2. 24 个必须掌握的数据库面试问题!
  3. 我脑中飘来飘去的css魔幻属性
  4. 转:Java NIO系列教程(九) Pipe
  5. context of your framing
  6. 深入理解InnoDB(3)—索引的存储结构
  7. python3怎么安装mysql_Python3下mysqlclient的安装和使用
  8. 【奇淫巧技】打狗棒法---过安全狗注入手法
  9. 阻塞和非阻塞(串口自环测试失败原因定位)
  10. 一二线城市知名 IT 互联网公司名单
  11. 对Win10和Linux双系统进行备份
  12. 韩立刚计算机网络——第七章:Internet 上面的音频和视频
  13. 基于Java发送邮件
  14. Structure-Revealing Low-Light Image Enhancement Via Robust Retinex Model TIP 2018阅读记录
  15. python读取xlsm文件_在保留VBA宏的同时使用熊猫读取和更新XLSM文件中的图纸 - python...
  16. 红米note3 Android N,骁龙650的力量 红米Note3全网通版评测
  17. ACM题目和培养训练!!!
  18. C#面试经历分享(好好看,好好学)
  19. What are Triangulation, Trilateration, and Multilateration?
  20. 普通话考试易错字、鼻音、HF发声

热门文章

  1. Java中对象和类的关系
  2. BZOJ_1014_[JSOI2008]_火星人prefix_(Splay+LCP_Hash+二分)
  3. 二十一:微信公众帐号开发符号表情的发送上
  4. Windows2012修改远程桌面连接端口
  5. 大专平面设计与计算机学校,计算机平面设计学校
  6. 在错误的时间遇上乐视 谁会接手风雨飘摇中的酷派?
  7. 【拓展】你真的会写 Markdown 么?
  8. 羧酸-COOH功能化修饰红色荧光聚苯乙烯AIE微球的产品组成和保存条件
  9. 《Activiti工作流框架》专题(七)-Activiti工作流框架监听器(listener)
  10. vue2.x实现视频遮罩层镂空,不影响视频播放