asp.net 2.0多语言网站解决方案

asp.net 2.0中的App_GlobalResources可以用来解决本地化的问题,程序会根据浏览器的语言首选项自动判断显示出本地化的界面。

首先在App_GlobalResources新建resx资源文件。如:

 

不同语言的resx中项目应该具有相同的名称:

 

中文资源项

 

英文资源项

完了以后就可以使用这些名值对了,


<asp:Literal ID="Literal1" runat="server" Text="<%$ Resources:lang,userinfo%>" />

或者


<%=Resources.lang.userinfo%>

至此你可以更换浏览器的语言首选项来看看效果了。

接下去的问题是怎么通过程序本身的方式来更换语言项。

1. 可以往web.config中增加<globalization culture="en-US" uiCulture="en-US"/>来改变程序默认使用的语言项。

2.可以往global全局应用程序中增加如下代码


void Application_BeginRequest(Object sender, EventArgs e)
    {
        try
        {
            if (Request.Cookies["lang"] != null)
            {
                System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(Request.Cookies["lang"].Value.ToString());
                System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(Request.Cookies["lang"].Value.ToString());
            }
        }
        catch (Exception)
        { }
    }

即可通过设置变换cookie值来达到即时切换语言的目的,轻松的实现了程序的多语言。

时间: 2024-09-28 13:04:57

asp.net 2.0多语言网站解决方案的相关文章

asp.net 2.0多语言网站解决方法_实用技巧

首先在App_GlobalResources新建resx资源文件.如: 不同语言的resx中项目应该具有相同的名称: 中文资源项 英文资源项 完了以后就可以使用这些名值对了, 复制代码 代码如下: <asp:Literal ID="Literal1" runat="server" Text="<%$ Resources:lang,userinfo%>" /> 或者 复制代码 代码如下: <%=Resources.la

用ASP.NET 2.0主题控制网站外观

asp.net|控制 自.NET Framework出现以来,对网站外观进行控制一直是ASP.NET开发者的期待.ASP.NET 2.0使之成为现实,应用它的主题与皮肤,我们可以对外观进行控制. 开发者经常将主题与母版页面弄混,但这两个元素存在很大的不同.母版页面允许你控制一个网站的总体布局,或网站内的一组页面,但主题主要关注网站的外观与感觉. 在你能够应用ASP.NET 2.0主题的所有优点之前,你有必要了解一些术语与过程.主题能够应用一个称之为皮肤或层叠样式表(CSS)的新设计元素. 了解皮

asp.net 2.0实现语言和主题的切换

asp.net 在ASP.NET 2.0 中提供多语言转换和多样式主题转换功能,两种实现形式比较类似,所以放在一起说明一下.   1. Language switcher 多语言转换   在Quick Start Tutorial 中,介绍了如何存储和应用用户选择的语言.一般是用一个DropDownList展示支持的语言,供用户选择,通常是放在masterpage 里面,将用户选择的语言存储起来 这里用了ASP.NET 2.0的Profile,当然也可以存在cookie session 或者qu

ASP.NET 2.0中CSS失效解决方案

经常有人遇到ASP.NET 2.0(ASP.NET 1.x中可能是有效的)中CSS失效的问题,现将主要原因和解决方法罗列如下: 1.CSS文件路径不正确 这个问题属于Web开发中的基础问题,一般采用相对路径会出现这样的问题,或者样式文件写在了模板页里面,在内容页与模板页不在同一级目录下时会出现这样的问题.此时你要清楚Web中相对路径的规则,如果你不清楚,可以采用绝对路径的写法试试就知道是不是路径的问题了. 2.CSS规则写法错误 这个问题谁也帮不你,只能自己学习CSS的相关知识了. 3.文件编码

ASP.NET WEB页面多语言支持解决方案

首先建立语言档,在项目中加入.resx文件 例如:message.zh-cn.resx'简体中文message.zh-tw.resx'繁体中文message.en'英文.............. ============================================然后利用Name--Value键值对填入你要在页面上显示的语言如:namevaluemessage.zh-cn.resx中:res_loginbname登陆名:message.zh-tw.resx中:res_log

网站开发技术:ASP.NET 2.0搭建网站

知识经济大潮下的广大网民由于其知识层次的不断提升,以及对自身价值的展现的要求越来越迫切和广泛,他们对于网站的使用功能也越来越重视,因而网站在建设和发展的过程当中,更加需要持续不断的技术创新,以满足用户的需求,并在一定条件下起到引领用户的作用. 首先,从总体开发平台或开发框架来看,我们可以采用ASP.NET 2.0来搭建网站和实现Web应用.基于ASP.NET 2.0的开放式构架,以及先进的Web Part可自定制部件的开发思想,使得网站的开发将从根本上实现快速,稳定,安全,跨平台,易扩展等等要求

ASP.NET 2.0不能识别eurl.axd的解决方法

在IIS6中同时启用了ASP.NET 2.0 和 ASP.NET 4.0 后,网站程序可能会出现如下错误:" System.Web.HttpException: Path '//eurl.axd/' was not found. " 错误发生的原因是当ASP.NET检测到Web站点配置为使用ASP.NET 4.0,本地ASP.NET 4.0 的组件会传递一个不能扩展的 URL到ASP.NET的管理程序作进一步处理.但是,如果一个低于ASP.NET 4.0 的网站配置为使用ASP.NET

asp.net mvc3.0安装失败如何解决_实用技巧

先来看看安装失败的截图 原因分析 因为vs10先安装了sp1补丁,然后安装的mvc3.0,某些文件被sp1补丁更改,导致"VS10-KB2483190-x86.exe"安装不了,造成安装失败. 解决方案 方法1: 解压mvc安装包(AspNetMVC3Setup.exe)找到parameterinfo.xml文件,删除里面"<Exe CanonicalTargetName="VS10-KB2483190-x86".....</Exe>&q

asp+xml实现多语言网站的解放方案

asp+|xml|网站|多语言 新建两个存储语言项的xml文件,放到Languages目录下:zh-cn.xml 以下是引用片段:<?xml version="1.0" encoding="utf-8"?> <Languages>     <aboutus>关于我们</aboutus>     <product>产品展示</product> </Languages>english.x