【发布时间】:2015-07-11 03:35:40
【问题描述】:
我有一个使用 MvcSiteMapProvider 生成的菜单,该菜单使用帮助程序进行引导和路由:
控制器主页:
[MvcSiteMapNode(Title = "Home", Key = "home")]
public ActionResult Index()
{
return View(model);
}
控制器其他:
[Route("mypageview", Name = "mypage")]
[MvcSiteMapNode(Title = "My Page", ParentKey = "home", Key = "mypage")]
public ActionResult mypage()
{
mymodel model = .....
return View(model);
}
助手:
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
@foreach (var node in Model.Nodes)
{
if (node.Children.Any())
{
<li>
<a href="#" class="dropdown-toggle" data-toggle="dropdown">@node.Title<strong class="caret"></strong></a>
<ul class="dropdown-menu">
@for (int i = 0; i < node.Children.Count; i++)
{
<li>@Html.DisplayFor(x => node.Children[i])</li>
}
</ul>
</li>
}
else
{
<li>
<a href="@node.Url" class="dropdown-toggle" data-toggle="dropdown">@node.Title</a>
</li>
}
}
</ul>
</div>
布局视图:
@Html.MvcSiteMap().Menu("BootstrapMenuHelperModel")
所有菜单项都可以完美运行,下拉菜单也是如此。他们都在导航到正确的位置。但是菜单的“主页”按钮(第一个)不会导航到索引。
我尝试在路由中包含索引,但这只会破坏网站。
【问题讨论】:
标签: asp.net-mvc-5 asp.net-mvc-routing mvcsitemapprovider