0

英語用 (LocalStrings) とドイツ語用 (de-DE) の 2 つのリソース ファイルを使用して、以下を実装しました。ドロップダウンを変更しても、言語は変更されません。Visual Studio または Firebug によってではなく、エラーは発生しません。何かアドバイス?


    <%@ Page Language="C#" AutoEventWireup="false" CodeFile="Default.aspx.cs" Inherits="_Default" uiculture="auto" Culture="auto:de-DE" %>

    <!DOCTYPE html>

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>

        </div>
            <asp:Label ID="Label1" runat="server" meta:resourcekey="Label1" Text="<%$ Resources:LocalStrings, LastName %>"></asp:Label>
            <br />
            <br />
            <asp:DropDownList ID="DropDownList1" runat="server">
                <asp:ListItem Value="LocalStrings">English</asp:ListItem>
                <asp:ListItem Value="de-DE">German</asp:ListItem>
            </asp:DropDownList>
        </form>
    </body>
    </html>

コードビハインド

        using System;
        using System.Collections.Generic;
        using System.Linq;
        using System.Threading;
        using System.Web;
        using System.Web.UI;
        using System.Web.UI.WebControls;
        using System.Globalization;

        public partial class _Default : System.Web.UI.Page
        {
           protected void Page_Load(object sender, EventArgs e)
        {

        }
        protected override void InitializeCulture()
        {
            string cult = Request.Form["DropDownList1"];

            if (cult != null)
            {
                String selectedLanguage = cult;
                UICulture = selectedLanguage;
                Culture = selectedLanguage;

                Thread.CurrentThread.CurrentCulture =     CultureInfo.CreateSpecificCulture(selectedLanguage);
                Thread.CurrentThread.CurrentUICulture = new CultureInfo(selectedLanguage);
                }
                base.InitializeCulture();

            }
        }
4

1 に答える 1