我正在尝试为MVCSiteMap自定义输出布局的外观,并且已经成功修改了MenuHelperModel.cshtml。我唯一的问题是我无法弄清楚如何制作第一个SiteMapNode的子列表?目前输出如下:
•Home
•Contact US
•News
Sports
•About
但我希望它看起来像是:
•Home
Contact US
•News
Sports
•About
我无法弄清楚如何将联系我们链接到主页链接的子组件,例如Sprots用于新闻。
这是我的SiteMap代码:
<?xml version="1.0" encoding="utf-8" ?>
<mvcSiteMap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-3.0"
xsi:schemaLocation="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-3.0 WebSiteMapSchema.xsd"
enableLocalization="true">
<mvcSiteMapNode title="Home" controller="Home" action="Index">
<mvcSiteMapNode title="Contact US" controller="Home" action="Contact" />
<mvcSiteMapNode title="News" controller="Home" action="News">
<mvcSiteMapNode title="Sports" controller="Home" action="Sprots" />
</mvcSiteMapNode>
<mvcSiteMapNode title="About" controller="Home" action="About"/>
</mvcSiteMapNode>
</mvcSiteMap>
和MenuHelperModel.cshtml:
@model MvcSiteMapProvider.Web.Html.Models.MenuHelperModel
@using System.Web.Mvc.Html
@using MvcSiteMapProvider.Web.Html.Models
<ul>
@foreach (var node in Model.Nodes) {
<li>@Html.DisplayFor(m => node)
@if (node.Children.Any()) {
@Html.DisplayFor(m => node.Children)
}
</li>
}
</ul>
我需要修改哪些内容才能使“联系我们”成为“主页”链接的子项?
答案 0 :(得分:0)
我想我想通了,看起来如果我使用这段代码渲染SiteMap它不会显示第一个节点,这将允许我构建一个新的主菜单并添加子选项。我还没有在子页面上尝试这个,因为我只有一个索引页面。一旦我在子页面上测试它以确保它仍然正确显示我将更新。
@Html.MvcSiteMap().Menu(false)