asp.net WebForm 多语言的实现
1、这里介绍的是实现中文和英文的切换。首先多语言的实现是采用资源文件的形式,建立2个多语言的资源文件。Resource.resx和Resource.zh-CN.resx。
2、将多语言这个属性放到用户类中去。
public class TUserModels
{
public string UserName { get; set; } public string Password { get; set; } public string RoleKey { get; set; } public string Email { get; set; } public bool IsDisabled { get; set; } public string CurrentCulture { get; set; }
}
3、由于写了一个BasePage 继承 System.Web.UI.Page,所以在BasePage InitializeCulture方法中
string lang = Request.QueryString["currentculture"];
if (lang == null)
{
lang = Lincoln3R.UI.Manager.UserSession.CurrentUser.CurrentCulture;
}
if (lang != CultureHelper.I18N_ZH_CN && lang != CultureHelper.I18N_EN_US)
{
lang = CultureHelper.I18N_EN_US;
}
Thread.CurrentThread.CurrentUICulture = new CultureInfo(lang);
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(lang);
Lincoln3R.UI.Manager.UserSession.CurrentUser.CurrentCulture = lang;
4、因为在login.aspx界面是System.Web.UI.Page的部分类,所以在login界面也要重写InitializeCulture方法。
protected override void InitializeCulture()
{
string lang = Request.QueryString["currentculture"];
if (lang == null)
{
lang = CultureHelper.GetDefaultCulture();
}
if (lang != CultureHelper.I18N_ZH_CN && lang != CultureHelper.I18N_EN_US)
{
lang = CultureHelper.I18N_EN_US;
}
Thread.CurrentThread.CurrentUICulture = new CultureInfo(lang);
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(lang);
}
5、在Login的模版页面要写出这2个按钮
<div class="AccountHeader">
<span>V1.</span>
<% if (System.Threading.Thread.CurrentThread.CurrentUICulture.Name != Lincoln3R.Framework.I18N.CultureHelper.I18N_ZH_CN)
{ %>
<span><a href="?currentculture=<%=Lincoln3R.Framework.I18N.CultureHelper.I18N_ZH_CN %>" title="<%=Lincoln3R.Resources.Resource.Lbl_Chinese %>">CN</a></span>
<%}
else
{ %>
<span><a href="?currentculture=<%=Lincoln3R.Framework.I18N.CultureHelper.I18N_EN_US %>" title="<%=Lincoln3R.Resources.Resource.Lbl_English %>">EN</a></span>
<% }
%>
</div>
自此多语言调用完成。
asp.net WebForm 多语言的实现的更多相关文章
- ASP.NET -- WebForm -- HttpRequest类的方法和属性
ASP.NET -- WebForm -- HttpRequest类的方法和属性 1. HttpRequest类的方法(1) BinaryRead: 执行对当前输入流进行指定字节数的二进制读取. ( ...
- asp.net webform设计思路的思考
我使用asp.net的webform框架进行web应用程序的开发已经差不多四年了,在整个开发生涯中,也使用过一年asp.net的mvc框架.因为网上经常有讨论webform框架和mvc框架的优劣,所以 ...
- ASP.NET MVC与ASP.NET WebForm
ASP.NET MVC是微软公司的一款WEB开发框架,整合了“模型-视图-控制器”架构的高效与整洁,是敏捷开发最现代的思想与技术.它是传统ASP.NET WebForm的一个完善的替代品. 1.当今的 ...
- 性能差异 ASP.NET WebForm与ASP.NET MVC
一.为什么说 ASP.NET WebForm 比 ASP.NET MVC 要差? WebForm 顾名思义,微软一向主打简单化,窗体模式,拖拽控件就能做网站了, 然而这也引发了许多 Java 和 .N ...
- ASP.Net WebForm温故知新学习笔记:一、aspx与服务器控件探秘
开篇:毫无疑问,ASP.Net WebForm是微软推出的一个跨时代的Web开发模式,它将WinForm开发模式的快捷便利的优点移植到了Web开发上,我们只要学会三步:拖控件→设属性→绑事件,便可以行 ...
- 一、ASP.NET MVC 路由(一)--- ASP.NET WebForm路由模拟
ASP.NET WebForm 应用,用户请求的是物理文件,其中包括静态页面和动态页面,在Url中的显示都是服务器中一个物理文件的相对路径.但是ASP.NET MVC就不同了,用户请求的是Contro ...
- (转)教你记住ASP.NET WebForm页面的生命周期
对于ASP.NET Webform的开发者,理解ASP.NET Webform的页面生命周期是非常重要的.主要是为了搞明白在哪里放置特定的方法和在何时设置各种页面属性.但是记忆和理解页面生命周期里提供 ...
- 【深入ASP.NET原理系列】--Asp.Net Mvc和Asp.Net WebForm共用一套ASP.NET请求管道
.NET FrameWork4在系统全局配置文件(如在如下目录中C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config) 中添加了一个名字叫Url ...
- 性能工具MiniProfiler在Asp.Net WebForm跟踪EntityFramework
http://www.xuebuyuan.com/356638.html 选择MiniProfiler.EF 默认会把MiniProfiler安装上,笔者程序是Asp.Net WebForm 不需要安 ...
随机推荐
- Java调用R(三)_系统命令调用
java通过配置的系统命令Rscript直接调用R脚本. 优点:R脚本和Java代码完全分离 缺点:R中变量不能控制 1. Java本地能够成功调用. public void CallR() { Ru ...
- HTML5 骨架
html: <!DOCTYPE html> <html lang="zh-CN"> <head> <title>HTML5 骨架&l ...
- [PWA] 0. Introduce to Offline First
Why offline first? Imagin you are visiting a website, it is fine if wifi connection is good. It migh ...
- STL——空间配置器(构造和析构基本工具)
以STL的运用角度而言,空间配置器是最不需要介绍的东西,它总是隐藏在一切组件(更具体地说是指容器,container)的背后,默默工作,默默付出.但若以STL的实现角度而言,第一个需要介绍的就是空间配 ...
- win32 api 文件操作!
CreateFile打开文件要对文件进行读写等操作,首先必须获得文件句柄,通过该函数可以获得文件句柄,该函数是通向文件世界的大门. ReadFile从文件中读取字节信息.在打开文件获得了文件句柄之后, ...
- cocos2d-x项目过程记录(纹理和内存优化方面)
1.参考资料:Cocos2d-x纹理优化的一些方案 cocos2d-x如何优化内存的应用 iOS和android游戏纹理优化和内存优化(cocos2d-x) 2.加载贴图集纹理 CCSpriteF ...
- configure JAAS for jboss 7.1 and mysql--reference
Hello all, In this tutorial we are going to configure JAAS for jboss 7.1 and mysql for Form based au ...
- Ubuntu install mysql
sudo apt-get install mysql-server sudo apt-get install libmysqlclient-dev
- 案例:java中的基本排序
//冒泡排序 import java.util.Arrays; public class ForTest{ public static void main(String args[]){ int[] ...
- Chain of Responsibility 责任链模式
简介 责任链模式是一种对象的行为模式.在责任链模式里,很多对象由每一个对象对其[下家]的引用而连接起来形成一条链,请求在这个链上[传递],直到链上的某一个对象决定处理此请求.发出这个请求的客户端并不知 ...