Я сходил с ума, пытаясь понять, почему я не могу заставить ASP.NET MVCSiteMap работать.
Я скачал последнюю версию с CodePlex (версия 2.3) и настроил ссылки, как указано на CodePlex .Я загрузил DisplayTemplates и настроил базовый файл Mvc.sitemap:
<?xml version="1.0" encoding="utf-8" ?>
<mvcSiteMap xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-2.0" enableLocalization="true">
<mvcSiteMapNode title="Dashboard" controller="Admin" action="Index" changeFrequency="Always" updatePriority="Normal">
<mvcSiteMapNode title="Users" controller="Users" action="Index" />
<mvcSiteMapNode title="Reports" controller="Reports" action="Index" />
</mvcSiteMapNode>
</mvcSiteMap>
При использовании помощника HTML для создания основного меню я получаю пустой вывод:
<%: Html.MvcSiteMap().Menu() %>
ВMenuHelperModel.ascx DisplayTemplate, я вывожу количество узлов:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl`1[ [MvcSiteMapProvider.Web.Html.Models.MenuHelperModel,MvcSiteMapProvider] ]" %>
<%@ Import Namespace="System.Web.Mvc.Html" %>
<%@ Import Namespace="MvcSiteMapProvider.Web.Html.Models" %>
<%: Model.Nodes.Count %>
<ul>
<% foreach (var node in Model.Nodes) { %>
<li><%=Html.DisplayFor(m => node)%>
<% if (node.Children.Any()) { %>
<%=Html.DisplayFor(m => node.Children)%>
<% } %>
</li>
<% } %>
</ul>
В результате получается:
0
Я не могу понять, что я делаю неправильно.Я не получаю никаких ошибок, и я использую файл Mvc.sitemap, предоставленный сайтом проекта CodePlex, с некоторыми незначительными изменениями для моих действий / контроллеров.
ПРИМЕЧАНИЕ. Я также загрузил пример проекта, ноон не скомпилируется для меня, а используемый файл карты сайта слишком сложен для меня, чтобы понять, как использовать его на этом раннем этапе.
Любая помощь очень ценится.