Я работаю над настройкой общего контента (навигации) для страницы макета MVC asp.net.
Вот мой частичный вид "_LayoutPartial.cshtml" с кодом для вывода навигационных данных из модели.
@model MyApp.Models.ViewModel.LayoutViewModel
<p>
@foreach (var item in Model.navHeader)
{
//Test dump of navigation data
@Html.Encode(item.Name);
@Html.Encode(item.URL);
}
</p>
Вот как выглядит код для моего контроллера "LayoutController.cs".
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MyApp.Models.ViewModel;
namespace MyApp.Controllers
{
public class LayoutController : Controller
{
//
// GET: /Layout/
LayoutViewModel layout = new LayoutViewModel();
public ActionResult Index()
{
return View(layout);
}
}
}
Вот код страницы "_Layout.cshtml". Я пытаюсь вызвать частичное представление здесь, используя метод Html.RenderAction(Action, Controller).
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<p>
@{Html.RenderAction("Index","Layout");}
</p>
@RenderBody()
</body>
</html>
Когда страница макета выполняет строку @{Html.RenderAction( "Индекс", "Макет" );}, она выдает сообщение об ошибке "Ошибка выполнения дочернего запроса для обработчика" System.Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerAsyncWrapper "".
Чем я скучаю по друзьям? Как я могу вызвать частичный вид на странице макета?
Спасибо всем заблаговременно!