【发布时间】:2013-02-09 10:24:55
【问题描述】:
在我看来,我想从该文件的特定本地资源中访问资源字符串。正如您从网络表单中知道的那样:
(string)GetLocalResource("Title");
无痛流畅。框架处理从文化信息代码扩展 (.en-EN.resx) 获取的 .resx 文件。
在带有 Razore 视图的 MVC4 中这可能吗?怎么做?
我注意到我可以将 .resx 文件上的 Custom Tool 属性设置为 PublicResXFileCodeGenerator。这样我就可以从视图中访问它。例子:
我用丹麦语和英语为 index.cshtml 创建了 2 个资源文件。就像我在网络表单中一样。这是我希望我能写的(Custom Tool Name 属性设置为“ViewResource”):
@ViewResource.Title
巴姆。如果当前文化是丹麦语,标题将是“Forside”,如果是英语,它将是“Home”。但相反,我得到的唯一选择是选择一个特定的文件。并从中选择所需的字符串:
@ViewResource.Index_cshtml_en-EN_resx.Title
那不是动态的。所以我想我可以制作一个扩展类,以某种方式取代 en-EN/da-DK。但是对于如此“简单”并且已经很好且容易集成到网络表单中的东西来说,这似乎确实是相对大量的工作。必须有另一种方式。当然,mvc 团队像其他一切一样为我们提供了一些智能机制:)
【问题讨论】:
标签: razor asp.net-mvc-4 localization resx razor-2