2011-03-24 5 views
2

사용자가 드롭 다운 컨트롤에서 원하는 언어를 선택할 수있는 현지화 된 응용 프로그램이 있습니다. OnSelectedIndexChanged 이벤트 후에는 포스트 백이 발생하고 CurrentThread.CurrentCulture는 사용자가 선택하는 것으로 설정되어야합니다.asp를 사용하여 페이지 현지화를 변경하는 방법 : DropDownList?

Login.aspx.cs 
public partial class Login : BasePage 
{ 
    protected void LanguageDrop_changed(object sender, EventArgs e) 
    { 
     var lang = LanguageDropDown.SelectedValue; 
     Thread.CurrentThread.CurrentUICulture = new CultureInfo(lang); 
     Thread.CurrentThread.CurrentCulture = new CultureInfo(lang); 
    } 
} 

그러나 InitializeCulture 후 LanguageDrop_click 이벤트가 발생합니다 그래서 몇 가지 기본 문화가 초기화되기 때문에, 컨트롤이 언어를 기본값으로 지역화 된 후 CurrentThread.CurrentCulture이 설정되어 올바른 작동하지 않습니다. 따라서 사용자는 선택한 언어로 페이지를 보려면 페이지를 새로 고침해야합니다.

UPDATE : 나는 부분적인 해답을 발견 : http://www.codeproject.com/Kb/aspnet/localizationByVivekTakur.aspx 그는이 불행하게도 더 좋은 옵션이 없습니다 당신이 다른 새로 고침을 수행해야합니다 내 경험에 의하면 양식 모음

답변

1

가장 좋은 대답은 내가 페이지를 요청 그래서 그는 양식 수집

또는 Response.Redirect를 만들기에서 InitializeCulture() 이벤트에서 언어 드롭 다운 값 을 검색

http://www.codeproject.com/Kb/aspnet/localizationByVivekTakur.aspx 를 제공하거나 링크입니다 다시 문화가 설정됩니다.

+0

멀리 링크하면이 링크가 가장 좋습니다. –

0

에서 언어 드롭 다운 InitializeCulture의 값() 이벤트를 검색합니다. 당신의 추론은 정확합니다.

관련 문제