从剃刀视图引用资源文件

时间:2012-03-28 15:47:40

标签: asp.net-mvc-3 razor internationalization

我使用来自http://code52.org/aspnet-internationalization/的Code52的ASP.NET国际化,它使用(语言)资源文件。

从我的控制器中我引用了我想要的字符串

ViewBag.Message = Language.Index_Title;

是否可以直接在(razor)视图中引用这些值? 这样的事情:@Resources.Language.Index_Title;

3 个答案:

答案 0 :(得分:10)

在你的web.config中你有“页面”部分......你需要添加你的资源名称空间......这样你就不需要在每个页面中使用“using”来声明它。

<pages>
  <namespaces>
    <add namespace="System.Web.Helpers" />
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Routing" />
    <add namespace="System.Web.WebPages" />
    <add namespace="Your.Resources.Namespace" />  <!--ADD THIS LINE-->
  </namespaces>
</pages>

然后,假设您的资源文件名为“语言”,在Razor视图中使用:

@Language.Index_Title

答案 1 :(得分:4)

在自定义工具的属性中修改资源文件,您必须添加值“ PublicResXFileCodeGenerator ”,并且在视图中可以使用资源文件。

答案 2 :(得分:3)

尝试@ ViewContext.HttpContext.GetGlobalResourceObject(classKey,resourceKey)。希望这有帮助