我使用来自Code52的ASP.NET Internationalization,http://code52.org/aspnet-internationalization/使用(语言)资源文件。从剃须刀视图引用资源文件
从我的控制器我引用我想这样
ViewBag.Message = Language.Index_Title;
是否有可能直接在(剃刀)观看基准值的字符串? 类似这样的:@Resources.Language.Index_Title;
我使用来自Code52的ASP.NET Internationalization,http://code52.org/aspnet-internationalization/使用(语言)资源文件。从剃须刀视图引用资源文件
从我的控制器我引用我想这样
ViewBag.Message = Language.Index_Title;
是否有可能直接在(剃刀)观看基准值的字符串? 类似这样的:@Resources.Language.Index_Title;
Try @ ViewContext.HttpContext.GetGlobalResourceObject(classKey,resourceKey)。希望这可以帮助
在你的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
对不起,但这对我不起作用,但intellisense表明它没有问题... – 2012-03-28 21:00:51
@ChristerKolterjahn,这是我在我的项目中执行此操作时所遵循的教程:http://afana.me/post /aspnet-mvc-internationalization-part-2.aspx – Romias 2012-03-29 02:31:23
我相信这需要添加到视图web.config,而不是根web.config – 2012-03-29 10:12:11
修改您的资源文件中的自定义工具属性,你必须添加值“PublicResXFileCodeGenerator“以及在您的视图中,您可以使用资源文件。
所有的问题都解决了,当我改变了资源文件属性: 生成操作:嵌入式的资源 复制到输出目录:不复制 – 2012-03-28 22:59:33
我发现,认为不会立即反映更改。在更改/重命名/移动资源文件后,关闭并重新打开视图。 – 2012-06-15 14:10:40