ASP.NET MVC @Html.Partial @Html.RenderPartial @Html.Action @Html.RenderAction区别

区别

  1. 带Render的方法返回值为void,输出到HttpContext;不带Rander的返回值为MvcHtmlString,为string 直接输出到页面。
  2.  Partial和RenderPartial:直接加载部分视图文件内容;Action和RenderAction:重新执行一次Controller → Model → View的顺序,,然后把产生的页面带回到原来的View中再回传。
  3.  Partial和RenderPartial:可以直接提供用户控件名作为参数;Action和RenderAction需要有对应的Action,在Action内部返回PartialResult(即return PartialView())。
  4.  对于简单的没有任何逻辑的用户控件,推荐使用Partial;对于需要设置一些Model的用户控件,推荐使用Action。
  5.  使用Html.Action有另外一个好处,就是在return PartialView时可以根据不同的场景选择不同的用户控件。

Razor语法

@Html.Partial与@Html.RenderPartial

使用方法:@Html.Partial("", "")   @{Html.RenderPartial("", "");}

说明:提供两个方法参数,第一个要呈现的分部视图的名称(视图的名称),第二个用于分部视图的模型(父视图传到分部视图中的数据)。

@Html.Action与@Html.RenderAction

 使用方法:@Html.Action("", "")   @{Html.RenderAction("","");}

 说明:提供两个参数,第一个参数为要操作方法的控制器的名称,第二个是包含操作方法的控制器名称

 注意: MVC分部视图必须放在调用者同一目录下,也可以放在View/Shared中。

源码下载

posted @ 2017-01-18 17:30  编程老男孩  阅读(614)  评论(2编辑  收藏  举报