ASP.NET MVC Razor - Html.Partial 和 RenderSection 之间有什么区别?

Sol*_*444 1 c# asp.net asp.net-mvc razor

两者似乎都允许您获取主布局的一部分并将其放置在另一个子文件中。我一直在使用 RenderSection,然后在子文件中定义该部分,但我开始怀疑这是否不是“最佳实践”。

Razor MVC 文档中的 Html.Partial 和 RenderSection 有什么区别?

Tim*_*Tim 6

Html.Partial 呈现部分视图。这是您想要嵌入到主视图中的另一个剃刀视图。

RenderSection 在布局模板中完成,用于标记某些代码所在的“存根”。

通常,您使用 Html.Partial 将可重用的代码片段呈现到多个页面中——例如复杂的用户控件。

您通常会在布局中使用 RenderSection 来让布局决定某些内容在输出中的位置,并且视图中正在渲染的部分决定该内容是什么。常见用途是允许您的视图定义脚本,然后该布局将其放置在 html 正文底部的页脚和布局中定义的内容之后。