Programmgesteuertes Festlegen der aktuellen Kultur in einer ASP.NET-Anwendung

In diesem Artikel wird beschrieben, wie Sie die aktuelle Kultur und die aktuelle Ui-Kultur in einer ASP.NET-Anwendung ändern.

Ursprüngliche Produktversion:   ASP.NET
Ursprüngliche KB-Nummer:   306162

Zusammenfassung

Im .NET Framework stellt die CultureInfo Klasse aus dem System.Globalization Namespace kulturspezifische Informationen bereit, z. B. die zugeordnete Sprache, das Land oder die Region, den Kalender und die Kulturkonventionen. Die CurrentCulture Eigenschaft stellt die Kultur dar, die der aktuelle Thread verwendet. Die CurrentUICulture Eigenschaft stellt die aktuelle Kultur dar, die Ressourcen-Manager verwendet, um kulturspezifische Ressourcen zur Laufzeit nachzuschlagen. Es gibt drei Möglichkeiten, die Kulturinformationen in einer ASP.NET Anwendung festzulegen: Anwendungsebene, Seitenebene und Threadebene.

Anwendungsebene

Angeben von Kulturinformationen auf Anwendungsebene in der dateiweb.config:

  1. Starten Sie Editor (oder einen anderen Texteditor).

  2. Fügen Sie den folgenden Code in Editor ein:

    <configuration>
        <system.web>
            <globalization
                culture="ja-JP"
                uiCulture="zh-HK"
            />
        </system.web>
    </configuration>
    
  3. Speichern Sie die Textdatei als web.config im Stammordner des Webservers. Beispiel: C:\Inetpub\wwwroot\Web.config.

  4. Starten Sie eine weitere Instanz von Editor. Fügen Sie den folgenden Code in Editor ein:

    <%@Page Language="C#" %>
    <% @Import Namespace="System.Globalization" %>
    <html>
        <head>
        </head>
        <script runat=server>
            public void Page_Load()
            {
                Response.Write ("Current Culture is " + CultureInfo.CurrentCulture.EnglishName);
            }
        </script>
        <body>
        </body>
    </html>
    
  5. Speichern Sie diese Textdatei als Application.aspx im Stammordner Des Webservers.

  6. Starten Sie Internet Explorer, und öffnen Sie dann Application.aspx.

Seitenebene

Die kulturspezifischen Informationseinstellungen auf Seitenebene setzen die kulturspezifischen Informationseinstellungen auf Anwendungsebene außer Kraft. Angeben von Kulturinformationen auf Seitenebene mithilfe der <@Page> Direktive:

  1. Führen Sie die Schritte 1, 2 und 3 des Abschnitts auf Anwendungsebene aus, um die dateiweb.config zu erstellen.

  2. Starten Sie eine weitere Instanz von Editor. Fügen Sie den folgenden Code in Editor ein:

    <%@Page Culture="fr-FR" Language="C#" %>
    <% @Import Namespace="System.Globalization" %>
    <html>
        <head>
        </head>
            <script runat=server>
            public void Page_Load()
            {
                Response.Write ("Current Culture is " + CultureInfo.CurrentCulture.EnglishName);
            }
            </script>
        <body>
        </body>
    </html>
    
  3. Speichern Sie diese Textdatei als Page.aspx im Stammordner Des Webservers.

  4. Starten Sie Internet Explorer, und öffnen Sie dann Page.aspx.

    Hinweis

    The Current Culture setting is French, although Japanese is specified as the current culture in the web.config file.

Threadebene

Die kulturspezifischen Informationseinstellungen auf Threadebene setzen die kulturspezifischen Informationseinstellungen auf Seitenebene außer Kraft. Geben Sie die kulturspezifischen Informationen auf Threadebene an, indem Sie die CurrentCulture Eigenschaft oder die Eigenschaft des CurrentUICulture aktuellen Threads festlegen:

  1. Führen Sie die Schritte 1, 2 und 3 des Abschnitts auf Anwendungsebene aus, um die web.config Datei zu erstellen.

  2. Starten Sie eine weitere Instanz von Editor. Fügen Sie den folgenden Code in Editor ein:

    <% @Page Culture="fr-FR" Language="C#" %>
    <% @Import Namespace="System.Globalization" %>
    <% @Import Namespace="System.Threading" %>
    <html>
        <head>
        </head>
            <script runat=server>
            public void Page_Load()
            {    // Display the Current Culture
                Response.Write("Current Culture is " + Thread.CurrentThread.CurrentCulture.EnglishName + "<br>");
    
                // Modify the Current Culture
                Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");
                Response.Write("Changing Culture to " + Thread.CurrentThread.CurrentCulture.EnglishName + "<br>");
            }
            </script>
        <body>
        </body>
    </html>
    
  3. Speichern Sie diese Textdatei als Thread.aspx im Stammordner des Webservers.

  4. Starten Sie Internet Explorer, und öffnen Sie dann Thread.aspx.

    Hinweis

    Die aktuelle Kultureinstellung ist Deutsch, obwohl Französisch auf Seitenebene und Japanisch in der dateiweb.config angegeben ist.

References

Weitere Informationen finden Sie unter CultureInfo-Klasse.