我正在MVC应用程序中开发布局页面。布局页面具有
-标头
-内容
-页脚

标头包含ogo,欢迎消息,用户信息以及其他几个链接。

我的问题是,应该将标头设计为局部视图还是使用Rendoraction渲染它。 PartialView运行正常。但是由于此数据不依赖于页面的其余部分,因此我想调用一个控制器操作,该操作返回一个具有其自身模型的标题视图。

但是HTML Rendor操作无效。

_Layout.cshtml

<body>
    <div class="main_page">
        <div id = "header">
            *@Html.Partial("HeaderPartial", @Model)*@
            @Html.Action("Header")
        </div>
        <div id="body">
            @RenderBody()
        </div>
        <div id="footer">
        </div>
</body>


家庭控制器

public ActionResult Header()
{
  Var VModel = //Create Model;
  return View(VModel)
}


header.cshtml

@model VModel
<div>
</div>


执行处理程序的子请求时出错


System.Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerAsyncWrapper

最佳答案

您的header.cshtml外观对我来说很少见,但是如果您想将标题视图作为部分视图

第一:

Remove the layout using

@{
    Layout = null;
 }


第二要在您的布局上呈现此视图,请使用

@Html.Action("Header","Home", new { foo= @someElement}) <-- this element send values to your action

关于asp.net-mvc-3 - ASP.NET MVC3-Html.RenderAction无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10709756/

10-16 20:43