ASP.NET CORE MVC 中的 Html.Partial 和 Html.RenderPartial 都是输出html片段,但区别在于:

  • Html.Partial 时将分部视图渲染为字符串, 是将视图内容直接生成一个字符串并返回,相当于有个转义的过程。
  • Html.RenderPartial 是将分布视图直接写入响应输出流,即当前 HttpContext,因为是直接输出,所以性能好,微量影响。所以使用时只能直接写在代码块中,不能写在表达式中,因为返回值是 Void 。

所以,它们在视图中的使用方式是不同的:

@Html.Partial("_PartialView")
@{Html.RenderPartial("_PartialView");}

特别注意的是,一般情况下按以上方法输出页面是没问题的,但页面中遇到有按实际需求判断输出某段视图时,则需要使用 Html.RenderPartial 方法,如:

if(isAdminHeader)
{
    Html.RenderPartial("AdminHeader")
} 
else
{
    Html.RenderPartial("Header")
}

如果使用 Html.Partial 可能会被底层忽略,造成不输入这段视图的问题...

All Comments

Leave a Reply Cancel Reply

Tips: Your email address will not be disclosed!

If you can't see clearly,please click to change...