【问题标题】:HttpContext.GetGlobalResourceObject always returns nullHttpContext.GetGlobalResourceObject 始终返回 null
【发布时间】:2010-11-08 03:28:42
【问题描述】:

我在 App_GlobalResources 文件夹中创建了两个文件:

SiteResources.en-US.resx
SiteResources.sp-SP.resx

两者都包含“SiteTitleSeparator”的值。

这是我想要做的(以下行总是返回 null):

string sep = (string)GetGlobalResourceObject("SiteResources", "SiteTitle");

请注意,页面上的 Culture 属性已设置。

欢迎使用 VB 和 C# 回答。

【问题讨论】:

  • 请注意,页面上的 Culture 属性已设置。 ---------------------------------------------- 你是怎么设置的文化?我有 Resources.resx 和 Resources.fr-CA.resx,但是当我读取资源时,它总是返回默认 Resources.resx 的值... Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA") ; labUsername.Text = GetGlobalResourceObject("资源", "用户名").ToString() + " : ";此代码不会读取 Resources.fr-CA... 谢谢
  • 嘿 philberg,我相信要使用 .resx 值,您必须设置 CurrentUICulture,而不是 CurrentCulture。

标签: asp.net resources globalization resource-management resourcemanager


【解决方案1】:

是的:必须有一个没有区域代码的 .resx 作为默认值。

【讨论】:

    【解决方案2】:

    我将 SiteResources.en-US.resx 的名称更改为 SiteResources.resx,现在一切正常。

    似乎它们必须是一种不变的资源。

    【讨论】:

      猜你喜欢
      • 2015-01-07
      • 2016-05-31
      • 2015-08-15
      • 2012-03-18
      • 2016-11-04
      • 2016-07-28
      • 2017-11-26
      • 2015-02-23
      • 2017-11-16
      相关资源
      最近更新 更多