2012-10-18 2 views
1

asp.net에서 현지화를 배우려고합니다. 드롭 다운에서 언어를 선택하면 레이블 텍스트와 버튼 캡션을 변경하려고합니다. 샘플 코드를 검색하여 사용했습니다. 하지만 작동하지 않습니다. 드롭 다운을 사용하지 않고 문을 사용하여 Thread.CurrentThread.CurrentCulture = new CultureInfo("hi-IN"); 구문을 사용하여 언어를 설정했습니다. 영어 파일 & 힌디어를 생성했습니다.dropdowm 목록을 사용하여 asp.net 웹 사이트 언어 변경

코드와 화면 이미지는 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(); 
} 

답변

0

이 작동하지 않습니다 주어집니다. 세션/쿠키 또는 유사 콘텐츠에서 culture 정보를 읽도록 culture 초기화 논리를 변경 한 다음 드롭 다운 목록의 이벤트 처리기를 변경하여 세션/쿠키에 선택한 값을 쓰고 Response.Redirect()를 실행합니다.

InitializeCulture는 드롭 다운 목록의 이벤트 처리기 전에 실행됩니다.