@Html.Partial 和 @Html.RenderPartial 异同

时间:2024-01-16 22:51:08
  1. 相同点:这两个的性质都是一样, 作用都是将View给镶入进来

  2. 不同点:

    • Partial 回传的一个Object (MvcHtmlString), 回传一个String 把一堆Html给回传出来, 然后写进到主页面上

    • RenderPartial 回传的是void, 而这个方法会在主页面上直接添加指定的View ,所以性能更好

    • 使用方式:

      @Html.Partial("ViewName")
      
      @{
      Html.RenderPartial("ViewName");
      }
  3. 视图寻址规则: 以视图名使用当前文件夹下的视图(如果没有找到,则搜索 Shared 文件夹)

  4. 总结: RenderPartial 因为是直接写在响应流中,所以性能会更好(微量影响),而Partial不用写在代码块中,所以更方便

  5. 参考资料A 参考资料B(@Html.Action()/@Html.RenderAction())