/ MvcSiteMapProvider - .net、asp.net-mvc-2、sitemap、breadcrumbs、mvcsitemapproviderを使用すると、/ Breadcrumbレベル(2以上)が正しく表示されない

MvcSiteMapProvider - .net、asp.net-mvc-2、sitemap、breadcrumbs、mvcsitemapproviderを使用して正しく表示されないブレッドクラムレベル(2以上)

私はMvcSiteMapProviderを使用していて、3〜4の代わりに2レベルのパンだけを表示します。

の代わりに:

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>

回答:

回答№1は0

問題は、Mvc.sitemapファイルの内容が無効であるために発生している可能性があります。 mvcSiteMapNode タグにHome / Index controller / actionの終了タグがありません。


回答№2の場合は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>