首页 文章

Asp.net文化如何正确设置它

提问于
浏览
0

我正在尝试在我的应用程序中设置文化 . 这是我的代码:

Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr");

我想首先将它设置为MasterPage.master . 我有 MasterPage.master.resxMasterPage.master.fr.resx . 这两个文件在属性中设置为Embedded Ressouce .

这是我的aspx元素:

<asp:LinkButton runat="server" Text="" ID="lnkLangue" OnClick ="lnkLangue_Click" meta:resourcekey="lnklangue" ></asp:LinkButton>

我在两个resx文件(en和fr)中设置了lnkLangue.Text .

我的问题是文化始终是英语,而不是法语 . 我可以将文化设置为"fr-CA",没有任何作用(没有法语,只有英语) . I tried to set the culture in the PageLoad event, Preinit, on a button click, etc ,什么都行不通 .

我正在使用框架4.0

我错过了什么吗?

1 回答

  • 2

    您需要在每个需要本地化的页面上覆盖以下方法,或者从覆盖InitializeCulture方法的基页继承 .

    protected override void InitializeCulture()
    {
       Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA");
       Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr");
       base.InitializeCulture();
    }
    

相关问题