我正在尝试在asp.net中学习本地化。我正在尝试更改标签文本和按钮标题,从下拉菜单中选择语言。我搜索了示例代码并使用它们。但它不起作用。不使用下拉菜单和设置语言
声明Thread.CurrentThread.CurrentCulture = new CultureInfo("hi-IN");
有效..我已经为英语和印地语生成了资源文件。
给出了代码和屏幕图像
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
listvalue = DropDownList1.SelectedValue;
InitializeCulture();
}
protected override void InitializeCulture()
{
if (listvalue != null)
{
String selectedLanguage = listvalue;
UICulture = selectedLanguage;
Culture = selectedLanguage;
Thread.CurrentThread.CurrentCulture = new CultureInfo(listvalue);
/*Thread.CurrentThread.CurrentCulture =
CultureInfo.CreateSpecificCulture(selectedLanguage);
Thread.CurrentThread.CurrentUICulture = new
CultureInfo(selectedLanguage);*/
}
base.InitializeCulture();
}
答案 0 :(得分:0)
这不起作用。更改初始化文化逻辑以从会话/ cookie或类似内容中读取文化信息,然后更改下拉列表的事件处理程序以将所选值写入会话/ cookie然后执行Response.Redirect()。
在dropdownlist的事件处理程序之前执行InitializeCulture。