2012-10-18 21 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

這是行不通的。更改初始化文化邏輯以從會話/ cookie或類似內容讀取文化信息,然後更改下拉列表的事件處理程序以將選定值寫入會話/ cookie,然後執行Response.Redirect()。

InitializeCulture在dropdownlist的事件處理程序之前執行。