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>
4

2 に答える 2

0

Mvc.sitemap ファイルの内容が無効なため、問題が発生している可能性があります。Home/Index コントローラ/アクションのmvcSiteMapNodeタグに終了タグがありません。

于 2014-02-13T20:49:04.070 に答える
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>
于 2014-02-14T03:24:51.143 に答える