asp.net2.0多语言版本转换

mac2022-06-30  28

前段时间看extjsasp控件,它有一个语言设置,就想着如何在程序中实现。研究了一下。有以下一些经验

 

1、开发一个PageBase类

     public class PageBase:Page

     {

     }

     把 InitializeCulture方法给override掉。

在该方法实现如下:

            base.InitializeCulture();            if (Session["language"] != null)            {                Page.Culture = Session["language"].ToString();                Page.UICulture = Session["language"].ToString();            }

2、创建一个页面,并继承PageBase

在该页面上添加一个DropDownList控件,并设置选项

 <asp:DropDownList ID="ddlLanguages" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlLanguages_SelectedIndexChanged">                                    <asp:ListItem Value="Auto" Text="请选择语言"></asp:ListItem>                                    <asp:ListItem Value="en-us" Text="英语"></asp:ListItem>                                    <asp:ListItem Value="zh-cn" Text="简体中文"></asp:ListItem>                                </asp:DropDownList>

注意:要设置AutoPostBack为true

3、编写事件代码

         Session["language"] = ddlLanguages.SelectedValue;        //重定向,因为,InitializeCulture方法比DropDownList的事件先完成,也就是如果不重定向,所选语言显示的是上一次Session中的值。        Response.Redirect(Request.Url.AbsolutePath);4、编写该页面的Page_Load事件

     if(!IsPostBack)

     {

           if (Session["language"] != null)            {

                 //有个redirect,设置一下所选项。                 ddlLanguages.SelectedValue= Session["language"].ToString();            }

     }

转载于:https://www.cnblogs.com/deepwishly/archive/2010/04/13/2551259.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)