dot*_*iel 5 asp.net-mvc-2 mvcsitemapprovider
我一直在努力弄清楚为什么我无法使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>
Run Code Online (Sandbox Code Playgroud)
使用HTML Helper生成基本菜单时,我得到一个空白输出:
<%: Html.MvcSiteMap().Menu() %>
Run Code Online (Sandbox Code Playgroud)
在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>
Run Code Online (Sandbox Code Playgroud)
结果输出是:
0
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚我做错了什么.我没有收到任何错误,我正在使用CodePlex项目站点提供的Mvc.sitemap文件,并对我的操作/控制器进行了一些小的修改.
注意:我还下载了示例项目,但它不会为我编译,并且正在使用的站点地图文件太复杂,我无法在这个早期阶段弄清楚如何使用它.
任何帮助是极大的赞赏.
| 归档时间: |
|
| 查看次数: |
2889 次 |
| 最近记录: |