欢迎加入站点基地设计开发交流群:30720409
详细内容
asp.net开发多语言版本系统
发布日期:2010-03-05     点击:4110     字体:[ ]
用ASP.Net2.0开发多语言系统,步骤:
1、创建一个新的Web解决方案,并在Default.aspx页面放入三个控件:
   A.Label1,改名为lblSelect
   B.DropDownList1,改名为dropSelect
   C.Label1,改名称为lblTestText
2、生成资源文件:点击菜单Tools/Generate Local Resource生成资源文件
3、修改生成的资源文件Default.aspx.resx
   A.删除所有值
   B.添加Name=“lblSelect.Text”,Value=“请选择语言”
      添加Name=“lblTestText.Text”,Value=“这里就是您的测试”
4、修改Default.aspx页面
   进入Source模式,修改
   A.<asp:Label ID="lblSelect" runat="server"

meta:resourcekey="lblSelectResource1"></asp:Label>
     改为
   <asp:Label ID="lblSelect" runat="server"

meta:resourcekey="lblSelect"></asp:Label>

   B.<asp:DropDownList ID="dropSelect" runat="server"

meta:resourcekey="dropSelectResource1"
            OnSelectedIndexChanged="dropSelect_SelectedIndexChanged">
            <asp:ListItem meta:resourcekey="ListItemResource1" Value="en-

GB">English</asp:ListItem>
            <asp:ListItem meta:resourcekey="ListItemResource2" Value="zh-HK">繁體中文

</asp:ListItem>
            <asp:ListItem meta:resourcekey="ListItemResource3" Value="zh-CN">简体中文

</asp:ListItem>
      </asp:DropDownList>
   改为
      <asp:DropDownList ID="dropSelect" runat="server"
            OnSelectedIndexChanged="dropSelect_SelectedIndexChanged">
            <asp:ListItem Value="en-GB">English</asp:ListItem>
            <asp:ListItem Value="zh-HK">繁體中文</asp:ListItem>
            <asp:ListItem Value="zh-CN">简体中文</asp:ListItem>
      </asp:DropDownList>
   C.<asp:Label ID="lblTestText" runat="server"

meta:resourcekey="lblTestTextResource1"></asp:Label>
      改为
      <asp:Label ID="lblTestText" runat="server"

meta:resourcekey="lblTestText"></asp:Label>
5、添加英文资源文件
   A.复制一个Default.aspx.resx资源文件文件,并改名为Default.aspx.en-GB.resx
   B.修改Default.aspx.en-GB.resx,“lblSelect.Text”的值为“Please select language:


   “lblTestText.Text”的值为“This you test”
6、添加繁体资源文件
   A.复制一个Default.aspx.resx资源文件文件,并改名为Default.aspx.zh-HK.resx
   B.修改Default.aspx.en-GB.resx,“lblSelect.Text”的值为“請選擇語言:”
   “lblTestText.Text”的值为“這裏就是您的測試”
7、在dropSelect控件的SelectedIndexChanged事件里添加如下代码:
  Session["Culture_Code"] = dropSelect.SelectedValue;
    this.Server.Transfer(this.Request.Path);
8、在Default.aspx页面的Page_Load事件里添加如下代码:
    if (!IsPostBack)
    {
        string culturecode =

System.Threading.Thread.CurrentThread.CurrentCulture.Name;
        dropSelect.Items.FindByValue(culturecode).Selected = true;
    }
9、在Default.aspx.cs里添加如下代码:
    protected override void InitializeCulture()
    {
        if (Session["Culture_Code"] != null)
        {
            string culturecode = Session["Culture_Code"].ToString();
            System.Globalization.CultureInfo ci = new

System.Globalization.CultureInfo(culturecode);
            System.Threading.Thread.CurrentThread.CurrentCulture = ci;
            System.Threading.Thread.CurrentThread.CurrentUICulture = ci;
        }
    }
10、按Ctrl+F5运行程序,到此你就可以测试到效果了。

注:一些外语资源名称:

日语 /?mkt=ja-jp            俄语 /?mkt=ru-ru

荷兰语 /?mkt=nl-nl         朝鲜语 /?mkt=ko-kr

英国英语 /?mkt=en-gb   西班牙语 /?mkt=es-es   

繁体中文 /?mkt=zh-hk    意大利语 /?mkt=it-it  

---------------------------------------------------------------------------------------------------------------------------------

为了多个页面共用资源文件,这里应该添加全局文件夹:App_GlobalResources

1.如果添加的资源文件名称为MyResource.resx,

那么在页面上应该这样绑定:

用户评论
昵称 
内容  *
验证码   
   
相关文章 更多...  
Copyright © 2010 zdbase.com All Rights Reserved. 苏ICP备15039389号 可人软件设计