none
Multi Cultura ASP.NET RRS feed

  • Pergunta

  • Apenas estou conseguindo alterar a cultura utilizando o seguinte código na página teste.aspx.cs, não consigo a colocar na Master para não ter que repetir em todas as páginas o mesmo código.

            protected override void InitializeCulture()
            {
                CultureInfo myCultureInfo = new CultureInfo("en");
                Thread.CurrentThread.CurrentCulture = myCultureInfo;
                Thread.CurrentThread.CurrentUICulture = myCultureInfo;
                base.InitializeCulture();
            }

    Gostaria de saber onde devo colocar o código de alteração de cultura para que funcione em todas as páginas sem a necessidade de "multiplicação" do mesmo código.

    quinta-feira, 26 de janeiro de 2017 18:34

Respostas

  • Olá!
    Crie uma classe base(que herde de System.Web.UI.Page), e herde todas as paginas dessa classe base.
    Ai nessa classe base você da o override.

    Ex
    public class BaseAspNetClass :   System.Web.UI.Page
        { 
    	protected override void InitializeCulture()
            {
                CultureInfo myCultureInfo = new CultureInfo("en");
                Thread.CurrentThread.CurrentCulture = myCultureInfo;
                Thread.CurrentThread.CurrentUICulture = myCultureInfo;
                base.InitializeCulture();
            }
    }
    
    public partial class WebForm1 : BaseAspNetClass 
        {
    ....
    }
    --
    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta


    • Editado Rodrigo Suleiman quinta-feira, 26 de janeiro de 2017 19:03
    • Marcado como Resposta Ivan Junges sexta-feira, 27 de janeiro de 2017 13:38
    quinta-feira, 26 de janeiro de 2017 19:02
  • Sim, resolve obrigado por ajudar!

    mas resolvi colocando no global.asax no método Application_BeginRequest. Assim não preciso alterar em todas as outras paginas.

            protected void Application_BeginRequest(object sender, EventArgs e)
            {
                CultureInfo myCultureInfo = new CultureInfo(Request.Cookies["idioma"].Value);
                Thread.CurrentThread.CurrentCulture = myCultureInfo;
                Thread.CurrentThread.CurrentUICulture = myCultureInfo;
            }
    


    • Marcado como Resposta Ivan Junges sexta-feira, 27 de janeiro de 2017 13:40
    • Editado Ivan Junges sexta-feira, 27 de janeiro de 2017 13:41
    sexta-feira, 27 de janeiro de 2017 13:40

Todas as Respostas

  • Olá!
    Crie uma classe base(que herde de System.Web.UI.Page), e herde todas as paginas dessa classe base.
    Ai nessa classe base você da o override.

    Ex
    public class BaseAspNetClass :   System.Web.UI.Page
        { 
    	protected override void InitializeCulture()
            {
                CultureInfo myCultureInfo = new CultureInfo("en");
                Thread.CurrentThread.CurrentCulture = myCultureInfo;
                Thread.CurrentThread.CurrentUICulture = myCultureInfo;
                base.InitializeCulture();
            }
    }
    
    public partial class WebForm1 : BaseAspNetClass 
        {
    ....
    }
    --
    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta


    • Editado Rodrigo Suleiman quinta-feira, 26 de janeiro de 2017 19:03
    • Marcado como Resposta Ivan Junges sexta-feira, 27 de janeiro de 2017 13:38
    quinta-feira, 26 de janeiro de 2017 19:02
  • Sim, resolve obrigado por ajudar!

    mas resolvi colocando no global.asax no método Application_BeginRequest. Assim não preciso alterar em todas as outras paginas.

            protected void Application_BeginRequest(object sender, EventArgs e)
            {
                CultureInfo myCultureInfo = new CultureInfo(Request.Cookies["idioma"].Value);
                Thread.CurrentThread.CurrentCulture = myCultureInfo;
                Thread.CurrentThread.CurrentUICulture = myCultureInfo;
            }
    


    • Marcado como Resposta Ivan Junges sexta-feira, 27 de janeiro de 2017 13:40
    • Editado Ivan Junges sexta-feira, 27 de janeiro de 2017 13:41
    sexta-feira, 27 de janeiro de 2017 13:40