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

ASP页面语言设置
本文介绍如何在ASP页面中实现语言设置功能,通过开发PageBase类、重写InitializeCulture方法、创建语言选择下拉列表和事件处理,实现用户根据不同语言偏好进行页面切换。

前段时间看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();
            }

     }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值