我正在为 asp.net MVC 布局页面设置共享内容(导航)。
这是我的部分视图“_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("Index","Layout");} 行时,它会抛出错误消息“Error execution child request for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'”。
我缺少什么朋友?如何在布局页面中调用局部视图?
谢谢大家!