Tôi đã từng mất trí nhớ để tìm ra lý do tại sao tôi không thể tải ASP.NET MVCSiteMap để làm việc.ASP.NET MVC SiteMap
Tôi đã tải xuống phiên bản mới nhất từ CodePlex (phiên bản 2.3) và thiết lập tham chiếu như được nêu trên CodePlex. Tôi đã tải về DisplayTemplates và thiết lập một tập tin Mvc.sitemap cơ bản:
<?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>
Khi sử dụng Helper HTML để tạo một menu cơ bản, tôi nhận được một sản lượng trống:
<%: Html.MvcSiteMap().Menu() %>
Trong MenuHelperModel.ascx DisplayTemplate, tôi xuất ra số nút:
<%@ 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>
các kết quả đầu ra là:
0
Tôi không thể hiểu được mình đang làm gì sai. Tôi không nhận được bất kỳ lỗi nào, và tôi đang sử dụng tệp Mvc.sitemap được cung cấp bởi trang web dự án CodePlex với một số sửa đổi nhỏ cho các hành động/bộ điều khiển của tôi. Chú ý: Tôi cũng đã tải về dự án mẫu, nhưng nó sẽ không biên dịch cho tôi và tệp sơ đồ trang web đang được sử dụng quá phức tạp để tôi tìm hiểu ở giai đoạn đầu này trong sự hiểu biết của tôi về cách sử dụng nó.
Bất kỳ trợ giúp nào được đánh giá cao.