下载例子: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运行程序,到此你就可以测试到效果了。