我正在使用MvcSiteMapProvider,它只显示2层面包而不是3或4层。
而不是:
Categories > List > item1
只显示:
List > item1
这是我的Mvc.sitemap:
<?xml version="1.0" encoding="utf-8" ?>
<mvcSiteMap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-2.0"
xsi:schemaLocation="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-2.0 MvcSiteMapSchema.xsd"
enableLocalization="true">
<mvcSiteMapNode title="$resources:mvc.sitemap,menu_Home" controller="Home" action="Index" visibility="InSiteMapPathOnly" changeFrequency="Always">
<mvcSiteMapNode title="$resources:mvc.sitemap,menu_Categories" controller="Category" action="Categories">
<mvcSiteMapNode title="$resources:mvc.sitemap,menu_List" controller="Category" action="Index">
<mvcSiteMapNode title="$resources:mvc.sitemap,menu_item1" controller="Category" action="Action1" />
<mvcSiteMapNode title="$resources:mvc.sitemap,menu_item2" controller="Category" action="Action2"/>
</mvcSiteMapNode>
</mvcSiteMapNode>
</mvcSiteMap>
答案 0 :(得分:0)
由于Mvc.sitemap文件的内容无效,可能会出现此问题。 Home / Index控制器/操作的mvcSiteMapNode
标记缺少其结束标记。
答案 1 :(得分:0)
上面的帖子中有一个拼写错误(缺少/在第一个mvcSiteMapNode中),但修复后问题仍然存在。
但是,新版本的MvcSiteMapProvider MVC4(和MvcSiteMapProvider MVC5)修复了这个问题。
工作代码:
<?xml version="1.0" encoding="utf-8" ?>
<mvcSiteMap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-2.0"
xsi:schemaLocation="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-2.0 MvcSiteMapSchema.xsd"
enableLocalization="true">
<mvcSiteMapNode title="$resources:mvc.sitemap,menu_Home" controller="Home" action="Index" visibility="InSiteMapPathOnly" changeFrequency="Always" />
<mvcSiteMapNode title="$resources:mvc.sitemap,menu_Categories" controller="Category" action="Categories">
<mvcSiteMapNode title="$resources:mvc.sitemap,menu_List" controller="Category" action="Index">
<mvcSiteMapNode title="$resources:mvc.sitemap,menu_item1" controller="Category" action="Action1" />
<mvcSiteMapNode title="$resources:mvc.sitemap,menu_item2" controller="Category" action="Action2"/>
</mvcSiteMapNode>
</mvcSiteMapNode>
</mvcSiteMap>