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.2</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>

自此多语言调用完成。

时间: 2024-11-20 10:55:40

asp.net WebForm 多语言的实现的相关文章

asp.net webform设计思路的思考

我使用asp.net的webform框架进行web应用程序的开发已经差不多四年了,在整个开发生涯中,也使用过一年asp.net的mvc框架.因为网上经常有讨论webform框架和mvc框架的优劣,所以自己也对这两者进行了关注,因为自己最熟悉webform框架,所以就会考虑它的优势是什么?设计思路是什么? 要理解asp.net的设计思路,必须考虑它的产生年代,产生的技术基础,还有观察同时代其他动态网页技术的特点和思路. 首先是产生asp.net的技术基础,以下援引百度百科:    "1996年,A

ASP.NET WebForm中用async/await实现异步出人意料的简单

1. 在.aspx中添加异步标记 <%@ Page Language="C#" Async="true"%> 2. 在.aspx.cs或者.ascx.cs(用户控件)中添加异步方法 private async Task GetMyPosts() { var posts = await ServiceFactory.BlogPostSevice.GetBlogPostsPagedAsync(); rpPosts.DataSource = posts; rp

ASP.Net MVC多语言

.NET MVC 多语言网站 通过浏览器语言首选项改变MVC的语言,通过浏览器语言选项,修改脚本语言. 一.添加资源文件 1.添加App_GlobalResources文件夹. 2.添加默认的资源文件和对应的语言码资源文件.如zh-cn代表中国大陆,en-us代表美制英语.详情:http://www.lingoes.cn/zh/translator/langcode.htm 3.将资源文件设置成public.新建时默认是internal,这样不能被访问. 右键点击资源文件,在其的属性中将自定义工

【Ext.Net学习笔记】01:在ASP.NET WebForm中使用Ext.Net

Ext.NET是基于跨浏览器的ExtJS库和.NET Framework的一套支持ASP.NET AJAX的开源Web控件,包含有丰富的Ajax运用,其前身是Coolite. 下载地址:http://www.ext.net/download/示例地址:http://examples.ext.net/ 1.首先下载Ext.Net,地址:http://www.ext.net/download/ ,有两种框架选择,选择下载WebForms 当前版本是2.5.1,压缩包里面包含了不同版本,分别用在相应.

ASP.NET WebForm / MVC 源码分析

浏览器 Url:https//localhost:6565/Home/Index ,https//localhost:6565/WebForm1.aspx,请求服务器(构建请求报文,并且将请求报文发送给服务器) 1:服务器(内核模式 Http.sys)对请求报文做基本的处理 2:请求服务器(用户模式,IIS服务器) 2.1:对发送过来的数据做一个检查,如果请求的是静态资源的(.html,jpg,js),那么IIS直接将这些资源返回浏览器 2.2:如果是动态资源(.aspx,.ashx),IIS服

利用Bootstrap+Avalonjs+EntityFramework 开发ASP.NET WebForm应用程序(上)

本文将介绍如何利用Bootstrap+Avalonjs+EntityFramework 开发ASP.NET WebForm应用程序,分为上下两篇.上篇主要介绍实现,下篇主要介绍界面. 打开Visual Studio Web Express2013新建一个空白应用程序 ContactSample--联系人示例 (1)数据库 引入界面文件BootStrap,JS文件jquery和avalon,建立联系人页面Contact.aspx. 打开数据库,设计数据库ContactSample,数据库比较简单,

性能工具MiniProfiler在Asp.Net WebForm跟踪EntityFramework

http://www.xuebuyuan.com/356638.html 选择MiniProfiler.EF 默认会把MiniProfiler安装上,笔者程序是Asp.Net WebForm 不需要安装MiniProfiler.MVC3 2: 在Global.asax中添加下面代码: void Application_BeginRequest(){if (Request.IsLocal){ MiniProfiler.Start();}} void Application_EndRequest()

Ext.Net学习笔记01:在ASP.NET WebForm中使用Ext.Net

Ext.Net是一个对ExtJS进行封装了的.net控件库,可以在ASP.NET WebForm和MVC中使用.从今天开始记录我的学习笔记,这是第一篇,今天学习了如何在WebForm中使用Ext.Net控件库. 下载Ext.Net 首先要去Ext.Net网站上下载Ext.Net,我先学习的是WebForm版: 当前版本是3.1.0,压缩包里面包含了不同版本,分别用在相应.net版本的程序中. 在项目中引用 要使用Ext.Net,首先创建一个WebForm程序,我们这里使用4.5版. 在引用管理器

ASP.Net WebForm温故知新学习笔记:一、aspx与服务器控件探秘

开篇:毫无疑问,ASP.Net WebForm是微软推出的一个跨时代的Web开发模式,它将WinForm开发模式的快捷便利的优点移植到了Web开发上,我们只要学会三步:拖控件→设属性→绑事件,便可以行走于天下.但这样真的就可以走一辈子吗?实际上,ASP.Net经常被喷的诟病就在于WebForm以及只会拖控件的ASP.Net程序员,往往大型互联网系统也没有采用WebForm的模式进行开发.但是,WebForm并不是一无是处,而是我们没有用好,还有很多东西我们知其然不知其所以然,现在我们就来对这些平