1

asp.net でローカリゼーションを学ぼうとしています。ドロップダウンから言語を選択する際に、ラベル テキストとボタン キャプションを変更しようとしています。サンプルコードを検索して使用しました。しかし、それは機能していません。Thread.CurrentThread.CurrentCulture = new CultureInfo("hi-IN"); ステートメントワークを使用してドロップダウンと設定言語を使用せずに..英語とヒンディー語のリソースファイルを生成しました。

コードと画面イメージが表示されます ここに画像の説明を入力

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

1 に答える 1

0

これは機能しません。カルチャの初期化ロジックを変更して、セッション/Cookie または同様のものからカルチャ情報を読み取り、ドロップダウンリストのイベント ハンドラーを変更して、選択した値をセッション/Cookie に書き込み、Response.Redirect() を実行します。

ドロップダウン リストのイベント ハンドラーの前に実行される InitializeCulture。

于 2012-10-19T05:30:46.360 に答える