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

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

              Originale 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/die Region, den Kalender und kulturelle Konventionen. Die CurrentCulture -Eigenschaft stellt die Kultur dar, die der aktuelle Thread verwendet. Die CurrentUICulture -Eigenschaft stellt die aktuelle Kultur dar, die Resource 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

Geben Sie Kulturinformationen auf Anwendungsebene in der web.config-Datei an:

  1. Starten Sie Editor (oder einen anderen Text-Editor).

  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 Ihres Webservers. Beispiel: C:\Inetpub\wwwroot\Web.config.

  4. Starten Sie einen weiteren instance 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 Ihres 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. Geben Sie Kulturinformationen auf Seitenebene mithilfe der -Anweisung an <@Page> :

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

  2. Starten Sie einen weiteren instance 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 Ihres Webservers.

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

    Hinweis

    Die Einstellung Aktuelle Kultur ist Französisch, obwohl Japanisch als aktuelle Kultur in der web.config-Datei angegeben wird.

Threadebene

Die einstellungen für kulturspezifische Informationen 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 CurrentUICulture -Eigenschaft des aktuellen Threads festlegen:

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

  2. Starten Sie einen weiteren instance 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 Ihres 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 web.config-Datei angegeben ist.

References

Weitere Informationen finden Sie unter CultureInfo-Klasse.