我试图使用
MVCSiteMap的隐含本地化,但它不起作用.
这是我的示例Web.Sitemap:
<?xml version="1.0" encoding="utf-8" ?> <mvcSiteMap xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-2.0" enableLocalization="true"> <mvcSiteMapNode title="Home" controller="Home" action="Index" changeFrequency="Always" updatePriority="Normal"> <mvcSiteMapNode resourceKey="Products" title="Products" controller="Products" action="Index"> <mvcSiteMapNode title="Edit" controller="Products" action="Edit" /> </mvcSiteMapNode> <mvcSiteMapNode title="Categories" controller="Categories" action="Index" /> <mvcSiteMapNode title="Suppliers" controller="Suppliers" action="Index" /> </mvcSiteMapNode> </mvcSiteMap>
我在上面的站点地图中有resourceKey =“Products”,在App.GlobalResources文件夹中有Web.sitemap.resx文件中的相应Products.title.遵循这些说明:http://msdn.microsoft.com/en-us/library/ms178427(VS.80).aspx
我在这里缺少什么?
编辑
这已在changeset 52831中实施.
解决方法
感谢该项目的所有者Maarten Balliauw在MvcSitemapProvider的最新版本(在撰写本文时,版本2.2.1)中解决了这个问题!
MvcSitemapProvider的隐式本地化几乎与默认的SitemapProvider(see How to: Localize Site-Map Data)相同.唯一的区别是设置< siteMap enableLocalization =“true”>在站点地图文件本身中,您必须在Web.Config文件中设置它(as described here).