C# 在asp.net 4.0和C中使用asp.net登录控件登录时,如何基于错误时的语言选择器值(dropdownlist)初始化区域性#

C# 在asp.net 4.0和C中使用asp.net登录控件登录时,如何基于错误时的语言选择器值(dropdownlist)初始化区域性#,c#,asp.net,drop-down-menu,localization,autopostback,C#,Asp.net,Drop Down Menu,Localization,Autopostback,我已经使用asp.net登录控件创建了一个登录页面,并且添加了一个dropdownlist作为语言选择器(英语和法语),autopostback=true。因此,每当dropdownlist中的值发生变化时,标签等的翻译都会从相应的资源文件中检索。问题是当登录时出错(输入错误的密码),即使ddl值是法语,页面也会变为英语。我正在重写初始化区域性()。 Login.aspx.cs- protected override void InitializeCulture() { string l

我已经使用asp.net登录控件创建了一个登录页面,并且添加了一个dropdownlist作为语言选择器(英语和法语),autopostback=true。因此,每当dropdownlist中的值发生变化时,标签等的翻译都会从相应的资源文件中检索。问题是当登录时出错(输入错误的密码),即使ddl值是法语,页面也会变为英语。我正在重写初始化区域性()。 Login.aspx.cs-

protected override void InitializeCulture()
{
    string language = "E";
     language=  Language.CurrentLanguage;
    if (Request.Form["__EVENTTARGET"] != null && Request.Form["__EVENTTARGET"].Contains("ddlLanguages"))
    {
        language = Request.Form[Request.Form["__EVENTTARGET"]];
    }
    if (language == "F")
    {
        language = "fr-CA";
        Thread.CurrentThread.CurrentCulture = new CultureInfo(language);
        Thread.CurrentThread.CurrentUICulture = new CultureInfo(language);
    }
    else
    {
        language = "en-US";
        Thread.CurrentThread.CurrentCulture = new CultureInfo(language);
        Thread.CurrentThread.CurrentUICulture = new CultureInfo(language);
    }
}

MSDN上的注释可能是问题所在<代码>当用户使用登录控件登录到网站时,视图状态下的所有数据和所有post数据都将丢失。请勿在LoggedIn事件中执行依赖于视图状态的操作。感谢您的回复。我正在重写Page事件的InitializeCulture()。我不执行与LoggedIn事件中选择的语言相关的任何操作。我的问题中的这种情况发生在登录错误事件中。我通过调用dropdownlist\u SelectedIndexChanged()成功地做到了这一点。