加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-2 – ASP.NET MVC SiteMap

发布时间:2020-12-16 07:44:07 所属栏目:asp.Net 来源:网络整理
导读:我一直在努力弄清楚为什么我无法使ASP.NET MVCSiteMap工作. 我从CodePlex(版本2.3)下载了最新版本并设置了CodePlex中概述的参考.我下载了DisplayTemplates并设置了一个基本的Mvc.sitemap文件: ?xml version="1.0" encoding="utf-8" ?mvcSiteMap xmlns="http
我一直在努力弄清楚为什么我无法使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 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

我无法弄清楚我做错了什么.我没有收到任何错误,我正在使用CodePlex项目站点提供的Mvc.sitemap文件,并对我的操作/控制器进行了一些小的修改.

注意:我还下载了示例项目,但它不会为我编译,并且正在使用的站点地图文件太复杂,我无法在这个早期阶段弄清楚如何使用它.

任何帮助是极大的赞赏.

解决方法

2.3版本已准备好用于MVC3.我重新编译了新的源代码,添加了对MVC2程序集的引用,更改了两个代码行,直到我有一个工作的MvcSitemap.dll

在您的Mvc.sitemap中,我必须将命名空间更改为:

http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-3.0

(注意最后-3.0而不是-2.0,最新版本最后是-4.0)

并确保控制器的名称与您测试它的控制器匹配,否则安全机制将阻止任何显示.

请注意,项目已移至Github,命名空间仍引用codeplex.com.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读