在布局中,调用MVC子动作。但是,partialView结果不会显示在RenderSection(“userProfile”,必需:false)中。虽然,Watch窗口显示结果包含数据。谢谢。如何渲染MVC子Action Action PartialView到布局@RenderSection()?
控制器的动作
[ChildActionOnly]
public ActionResult GetUserProfile()
{
var vm = base.appVM.User;
return PartialView("UserProfilePartial", vm);
}
UserProfilePartial.cshtml
@model myApp.viewModel
@section userProfile{
<div>@string.Format("{0}, {1}", Model.lastName, Model.firstName)</div>
@foreach (var item in Model.Locations)
{
<div>
<ul class="row">
<li class="cell">@item.LocType</li>
<li class="cell">@item.LocName</li>
<li class="cell">@item.UserRole</li>
</ul>
</div>
}
}
Layout.cshtml
<body>
<header>
<div class="content-wrapper">
<div class="float-left">
<p class="site-title">@Html.ActionLink("Home", "Index", "Home")</p>
</div>
@Html.Action("GetUserProfile","User")
<div class="float-right">
@RenderSection("userProfile", required: false)
</div>
@Html.Action("Index", "Menu");
<div class="menu">
@RenderSection("menu", required:false)
</div>
</div>
</header>
@RenderBody()
</body>
即由包括@创建堆栈溢出{布局=“〜/查看/共享/ _Layout.cshtml“;}。我知道@ Html.Partial()会在调用动作的行中插入片段,但我希望它在布局中的@RenderSection(“userProfile”)所在的行处呈现。 – user266909
...我想在partialView中使用@section userProfile {}。 – user266909