Definir a cultura atual de forma programática em um aplicativo de ASP.NET

Este artigo descreve como alterar a cultura atual e a cultura atual da interface do usuário em um aplicativo ASP.NET.

Versão original do produto: ASP.NET
Número de KB original: 306162

Resumo

No .NET Framework, a CultureInfo classe do System.Globalization namespace fornece informações específicas da cultura, como a linguagem associada, país/região, calendário e convenções culturais. A CurrentCulture propriedade representa a cultura que o thread atual usa. A CurrentUICulture propriedade representa a cultura atual que Resource Manager usa para pesquisar recursos específicos da cultura em tempo de execução. Há três maneiras de definir as informações de cultura em um aplicativo ASP.NET: nível de aplicativo, nível de página e nível de thread.

Nível do aplicativo

Especifique informações de cultura de nível de aplicativo no arquivo web.config :

  1. Inicie o Bloco de Notas (ou qualquer outro editor de texto).

  2. Cole o seguinte código no Bloco de Notas:

    <configuration>
        <system.web>
            <globalization
                culture="ja-JP"
                uiCulture="zh-HK"
            />
        </system.web>
    </configuration>
    
  3. Salve o arquivo de texto como web.config na pasta raiz do servidor Web. Por exemplo, C:\Inetpub\wwwroot\Web.config.

  4. Inicie outra instância do Bloco de Notas. Cole o seguinte código no Bloco de Notas:

    <%@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. Salve este arquivo de texto como Application.aspx na pasta raiz do servidor Web.

  6. Inicie Explorer da Internet e abra Application.aspx.

Nível da página

As configurações de informações específicas da cultura do nível da página substituem as configurações de informações específicas da cultura do nível do aplicativo. Especifique as informações de cultura de nível de página usando a <@Page> diretiva:

  1. Siga as etapas 1, 2 e 3 da seção nível de aplicativo para criar o arquivo web.config .

  2. Inicie outra instância do Bloco de Notas. Cole o seguinte código no Bloco de Notas:

    <%@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. Salve este arquivo de texto como Page.aspx na pasta raiz do servidor Web.

  4. Inicie Explorer da Internet e abra Page.aspx.

    Observação

    A configuração cultura atual é francesa, embora o japonês seja especificado como a cultura atual no arquivo web.config .

Nível de thread

As configurações de informações específicas da cultura do nível do thread substituem as configurações de informações específicas da cultura do nível da página. Especifique as informações específicas da cultura de nível de thread definindo a CurrentCulture propriedade ou a CurrentUICulture propriedade do thread atual:

  1. Siga as etapas 1, 2 e 3 da seção nível de aplicativo para criar o arquivo web.config .

  2. Inicie outra instância do Bloco de Notas. Cole o seguinte código no Bloco de Notas:

    <% @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. Salve este arquivo de texto como Thread.aspx na pasta raiz do servidor Web.

  4. Inicie Explorer da Internet e abra Thread.aspx.

    Observação

    A configuração de cultura atual é alemã, embora o francês seja especificado no nível da página e o japonês seja especificado no arquivo web.config .

Referências

Para obter mais informações, consulte Classe CultureInfo.