C# 文本属性中的全球资源

C# 文本属性中的全球资源,c#,asp.net,globalization,C#,Asp.net,Globalization,我有一个问题,当我想改变我的网站的语言。我为此使用全球资源。 当我使用默认语言时,它会显示正确的文本。那没问题 但是,当我更改区域性时,它不会更新ASP.NET控件属性中的文本。 我不知道为什么 这个代码工作得很完美 <h1><%= Resources.Default.Register %></h1> 你能帮帮我吗 Vincent这就是我如何将我的语言从英语(默认)改为法语的方法 <h3><asp:Label runat="server"

我有一个问题,当我想改变我的网站的语言。我为此使用全球资源。 当我使用默认语言时,它会显示正确的文本。那没问题

但是,当我更改区域性时,它不会更新ASP.NET控件属性中的文本。 我不知道为什么

这个代码工作得很完美

<h1><%= Resources.Default.Register %></h1>
你能帮帮我吗


Vincent

这就是我如何将我的语言从英语(默认)改为法语的方法

<h3><asp:Label runat="server" ID="lblWelcome" Text="<%$ Resources:Resource, Welcome %>" /></h3>

我的代码是这样的,但不幸的是,当我单击按钮时,它不会更改语言。当页面正在运行且ASP.NET正在从资源管理器检索值时,ASP.NET会选择与页面的当前UICulture设置最匹配的资源文件版本,或使用资源回退来获取资源。例如,如果正在运行Default.aspx页面,并且当前UICulture属性设置为es(西班牙语),则ASP.NET将使用本地资源文件Default.aspx.es.resx的编译版本。
protected void lbNL_Click(object sender, EventArgs e)
        {
            Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("nl-BE");
            Thread.CurrentThread.CurrentUICulture = new CultureInfo("nl-BE");

            Page.Culture = "nl-BE";
            Page.UICulture = "nl-BE";

        }
<h3><asp:Label runat="server" ID="lblWelcome" Text="<%$ Resources:Resource, Welcome %>" /></h3>
protected override void InitializeCulture()
{
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("nl-BE");
    Thread.CurrentThread.CurrentUICulture = new CultureInfo("nl-BE");

    base.InitializeCulture();
}