我有一个 ASP.net MVC 站点,我想使用几个资源文件来设置一些字符串。
我有一个包含我的视图模型的类库,我在那里添加了一个资源文件(ValidationMessages),带有一个字符串(称为测试),然后在我的视图模型中具有这样的属性:
public string TestResource
{
get
{
return ValidationMessages.Test;
}
}
当我的视图输出如下时,这很好用:
<div>@Model.TestResource</div>
如果我将 ValidationMessages.en-au.resx(我的默认值为 en-gb)文件添加到我的类库并创建不同版本的测试字符串,然后在我的 global.asax 中有以下内容:
protected void Application_AcquireRequestState(object sender, EventArgs e)
{
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-au");
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-au");
}
这也很好用。
我想要做的是添加自定义文化'en-gb-ly' - 我已经在我的机器上注册了这种文化(使用这里的代码)。当我在 global.asax 中将当前文化设置为“en-gb-ly”并在我的类库中包含 ValidationMessages.en-gb-ly.resx 时,输出已恢复为测试的“基本”版本字符串,而不是我的英文资源中的那个。
有人知道为什么会发生这种情况吗?