Я схожу с ума, пытаясь понять, почему я не могу заставить ASP.NET MVCSiteMap работать.ASP.NET MVC SiteMap
Я загрузил последнюю версию 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 Helper для создания основного меню, я получаю пустой вывод:
<%: 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, с некоторыми незначительными изменениями для моих действий/контроллеров.
ПРИМЕЧАНИЕ. Я также загрузил образец проекта, но он не будет компилироваться для меня, и используемый файл sitemap слишком сложный для меня, чтобы понять на этом раннем этапе мое понимание того, как это использовать.
Любая помощь очень ценится.