只是为了澄清哪些选项确实有效:
1)如果您提供路径,则需要视图文件的扩展名。
2)如果您不提供路径,请不要提供扩展名。
下面的示例假定为 cshtml 文件。
RenderPartial
在代码块中使用:
// This looks in default view folder, then shared, checking for .aspx, .cshtml etc
Html.RenderPartial("DefinitionDetails");
// This looks in specified path and requires the extension
Html.RenderPartial("~/Views/Definition/DefinitionDetails.cshtml");
用于Partial
内联 Razor 语法:
// This looks in default view folder, then shared, checking for .aspx, .cshtml etc
@Html.Partial("DefinitionDetails")
// This looks in specified path and requires the extension
@Html.Partial("~/Views/Definition/DefinitionDetails.cshtml")
注意:显然RenderPartial
比 略快Partial
,但我也希望完全路径名称会比让 MVC 搜索文件更快。
如果您在循环中生成部分(即从您的视图模型中的集合),您可能需要通过特定的视图模型:
例如
@foreach (var group in orderedGroups)
{
Html.RenderPartial("~/Views/ControllerName/ViewName.cshtml", group);
}
我只需要在一个项目上完成所有这些工作,发现标记的答案有点误导。