Я пытаюсь ввести свое меню.
На моей странице _Layout.cshtml у меня есть
<div class="wrapper">
<!-- Navigation -->
@Html.RenderAction("Navigation", "Nav")
Навигатор выглядит так
public ActionResult Navigation()
{
var pages = pageRepository.Pages;
return View(pages);
}
Вид навигации выглядит так
@model IEnumerable<Site.Domain.Entities.Page>
@{
Layout = null;
List<Site.Domain.Entities.Page> pages = new List<Site.Domain.Entities.Page>();
foreach(var page in Model)
{
pages.Add(page);
}
}
@foreach (var link in Model)
{
if (link.ParentPage == "Home")
{
<li>@link.PageTitle</li>
<ul>
@foreach (var subLink in pages)
{
if (subLink.ParentPage == link.PageTitle)
{
<li>@subLink.PageTitle</li>
}
}
</ul>
}
}
Представление работает нормально, когда я иду в .../nav/navigation
Что я пытаюсь сделать, так это перенести это на мою страницу _Layout, чтобы я мог использовать ее в качестве своего меню.
Я продолжаю получать сообщение об ошибке с @Html.RenderAction("Navigation", "Nav")
В сообщении об ошибке "Лучший перегруженный метод, соответствующий "System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)", имеет недопустимые аргументы"
Должен ли я использовать это как частичное? Каков наилучший способ сделать это? Спасибо за любой совет!