用ASP.Net2.0开发多语言系统

下载例子:http://files.cnblogs.com/zengjun1980/WebTest.rar

文章详情:  用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运行程序,到此你就可以测试到效果了。

你可能感兴趣的:(asp.net)