MvcSiteMap имеет только корневой узел
Я пытаюсь использовать MvcSiteMapProvider, но создать свой собственный макет. Я использовал nuget для установки MvcSiteMapProvider версии 3.2.3.0 в свой проект и создал этот файл для разработки. Тем не менее, когда я пытаюсь перебрать детей корневого узла, их нет.
<?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-3.0"
xsi:schemaLocation="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-3.0 MvcSiteMapSchema.xsd"
enableLocalization="true">
<mvcSiteMapNode title="Home" controller="Home" action="Index">
<mvcSiteMapNode title="Reports" controller="Reports" action="Index"/>
<mvcSiteMapNode title="Queries" controller="Queries" action="Index"/>
<mvcSiteMapNode title="Tools" controller="Tools" action="Index">
<mvcSiteMapNode title="Markets" controller="Markets" action="Index">
<mvcSiteMapNode title="Boundary Files" controller="Markets" action="BoundaryFiles" />
<mvcSiteMapNode title="Mass Update" controller="Markets" action="MassUpdate" />
<mvcSiteMapNode title="SHOULD NOT BE HERE" controller="Home" action="Headings" />
</mvcSiteMapNode>
<mvcSiteMapNode title="Categories" controller="Categories" action="Index"/>
<mvcSiteMapNode title="Blasts" controller="Blasts" action="Index">
<mvcSiteMapNode title="Get Blast" controller="Blasts" action="Get" />
</mvcSiteMapNode>
<mvcSiteMapNode title="Alerts" controller="Alerts" action="Index"/>
<mvcSiteMapNode title="Applications" controller="Applications" action="Index"/>
</mvcSiteMapNode>
<mvcSiteMapNode title="Subscribers" controller="Subscribers" action="Index" />
</mvcSiteMapNode>
</mvcSiteMap>
Однако у корневого узла нет дочерних элементов:
Я не могу понять, что не так. Я заменил корень на выполнение самого действия и дал ему похожего потомка, но это не сработало:
<mvcSiteMapNode title="ASDFG" controller="Test" action="TestSiteMap">
<mvcSiteMapNode title="ASDFGHJKL" controller="Test" action="TestSiteMap"/>
1 ответ
Трудно сказать, что здесь происходило. Если бы мне пришлось угадывать, я бы сказал, что это могло быть связано с тем фактом, что дочерние узлы добавлялись непосредственно к узлу в v3, и в этом случае карта сайта не могла их отслеживать. Эта опция была удалена в MvcSiteMapProvider v4, чтобы гарантировать, что все узлы добавляются непосредственно в карту сайта и отслеживаются ее внутренними коллекциями.
Я хотел бы предложить обновление, чтобы увидеть, воспроизводимо ли это поведение в v4.