使用下拉列表更改asp.net网站语言

时间:2012-10-18 08:35:02

标签: asp.net asp.net-mvc-2

我正在尝试在asp.net中学习本地化。我正在尝试更改标签文本和按钮标题,从下拉菜单中选择语言。我搜索了示例代码并使用它们。但它不起作用。不使用下拉菜单和设置语言 声明Thread.CurrentThread.CurrentCulture = new CultureInfo("hi-IN");有效..我已经为英语和印地语生成了资源文件。

给出了代码和屏幕图像 enter image description here

  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();
}

1 个答案:

答案 0 :(得分:0)

这不起作用。更改初始化文化逻辑以从会话/ cookie或类似内容中读取文化信息,然后更改下拉列表的事件处理程序以将所选值写入会话/ cookie然后执行Response.Redirect()。

在dropdownlist的事件处理程序之前执行InitializeCulture。