Html.Partial方法和Html.RenderPartial方法

分布视图 PartialView 一般是功能相对独立的,类似用户控件的视图代码片段,可以被多个视图引用,引用方式如下。

1,Html.Partial方法和Html.RenderPartial方法

静态类System.Web.Mvc.Html.PartialExtensions,利用扩展方法,扩展了System.Web.Mvc.HtmlHelper,因此有了Html.Partial方法,方法返回值为MvcHtmlString

静态类System.Web.Mvc.Html.RenderPartialExtensions,利用扩展方法,扩展了System.Web.Mvc.HtmlHelper,,因此有了Html.RenderPartial方法,方法没有返回值(void)

上面两个方法都是加载分部视图,但是使用方式不一样

Html.Partial返回MvcHtmlString,因此可以用razor表达式的方式调用

@Html.Partial("ViewName")

Html.RenderPartial没有返回值,因此要以嵌入代码段的方式调用,不能用razor表达式

@{
            Html.RenderPartial("ViewName");
    } 

以上两种方法,不调用controller的action,而是根据指定的分部视图名称直接加载。

分布视图默认的搜索路径是/Views/当前控制器 和 /Views/Shared 文件夹 。

 

2,Html.Action方法和Html.RenderAction方法

System.Web.Mvc.Html.ChildActionExtensions,利用扩展方法,扩展了System.Web.Mvc.HtmlHelper,因此有了Action和RenderAction方法,

Html.Action方法返回MvcHtmlString,因此可以使用Razor表达式的方式调用

@Html.Action("ActionName","ChildControllerName")

Html.RenderAction没有返回值(void),因此需要放到代码段中使用

@{
Html.RenderAction("ActionName","ChildControllerName");
}

 以上两个方法,需要配合控制器(Controller)和方法(Action)

方法返回PartialViewResult实例(Controller.PartialView()方法返回此实例)

当调用过程中包含业务处理逻辑时,可以用这两个方法。

posted @ 2016-05-15 01:37  悠哉大斌  阅读(1619)  评论(0编辑  收藏  举报