在 mvc4 的主视图内渲染部分视图

Render partial views inside main view in mvc4

我在 Views/Shared 文件夹下有 4 个视图。

  1. 出勤率Track.cshtml(主视图)
  2. _Attendance.cshtml(局部视图)
  3. _Leaves.cshtml(局部视图)
  4. _Efforts.cshtml(局部视图)

尝试在主视图中呈现 3 个视图,但无法render.Don不知道哪里做错了。 主视图中用于呈现部分视图的代码:

<div id="RenderAttendance">
 @Html.Partial("~/Views/Shared/_Attendance.cshtml");
</div>
<div id="RenderLeaves" >
 @Html.Partial("~/Views/Shared/_Leaves.cshtml");
</div>
<div id="RenderEfforts" >
 @Html.Partial("~/Views/Shared/_Efforts.cshtml");
</div>

嗨,请像下面这样尝试

<div id="RenderAttendance">
 @Html.Partial("_Attendance");
</div>
<div id="RenderLeaves" >
 @Html.Partial("_Leaves");
</div>
<div id="RenderEfforts" >
 @Html.Partial("_Efforts");
</div>

注意:如果您的部分视图包含模型 class 意味着尝试下面的

<div id="RenderAttendance">
 @Html.Partial("_Attendance", new ModelClassName());
</div>
<div id="RenderLeaves" >
 @Html.Partial("_Leaves", new ModelClassName_2());
</div>
<div id="RenderEfforts" >
 @Html.Partial("_Efforts", new ModelClassName_3());
</div>

我的局部视图被命名为“Grid”,位于“Views”下名为“Control”的文件夹中”目录。
我必须使用:

@Html.Partial("/Views/Control/Grid")

一旦我这样做了,MVC 就可以加载它了。
是的,我知道我应该在部分视图前加上下划线,但因为我将它们全部组织在 "Control" 文件夹下,所以这是我表示它们用途的方式。
当我从 Web 窗体迁移到 MVC 时,它帮助我将部分视图视为我添加到完整页面视图的可重用自定义用户控件。