现在的位置: 首页 > 综合 > 正文

ASP.NET(3):多语言实现

2012年11月13日 ⁄ 综合 ⁄ 共 4287字 ⁄ 字号 评论关闭

1.定义用户语言设置信息类,对用户选择的语言进行保存,可以用Session,这里选用的是Cookies.

 

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using CommonUtility;

/// <summary>
///ASPNET方式下为上下文语言环境提供语言设置对象
/// </summary>

public class ASPNETLocalizer : ILocalizer
{
    HttpContext httpContext;
    
/// <summary>
    
/// 创建对象
    
/// </summary>
    
/// <param name="httpResponse">HTTP相应对象</param>

    public ASPNETLocalizer()
    
{
        
this.httpContext = HttpContext.Current;
    }


    
ILocalizer 成员
}

由于对Cookies的访问有一定的限制,Request对象时候读,Response对象写,所以我们需要将用户选择语言的值保存在其它对象里面,可以保存在Session里,这里选择保存在HttpContext.Items中。

2.定义HttpModule,每次访问的时候根据用户的设置来改变语言

 

Code

 

3.在Web.Config中添加记录

 

<httpModules>
      
<add name="MYModule" type="MYHttpModule"/>
</httpModules>

 

4.定义资源文件存取对象ResourceManager

 

Code

 

5.在需要赋值的地方,实例化赋值即可

 

说明:初学ASP.NET,此方案很不成熟,自己练手用。

抱歉!评论已关闭.