mvc中partialview

mvc中partialview

一、MVC中的部分视图PartialView主要作用

1、可复用性

如果视图中的一部分内容会在多个地方用到,那么有必要将它写成一个分部视图,这样就不必在每一个视图中都重新写一遍,而直接调用分部视图就可以了;

2、便于维护

如果一个View有许多块组成,那么可以将这些块拆分成多个分部视图,这样就不必在一个Action中处理许多的数据或者是在一个View中写很多的html语言了,虽然这需要添加很多的cshtml文件或者Action,但是当某一块的数据发生变化就很容易管理和维护了,只需要对这个块的内容进行维护,而不必全局的去调整,这样一来岂不更显得有条理性?

二、PartialView的调用

1、 @Html.Patial

2、 @Html.RenderPatial

3、 @Html.Action

4、 @Html.RenderAction

三、调用Html.RenderPartial有四种方式

1、Html.RenderPartial(string partialName);

2、Html.Renderpartial(string partialName,object model);

3、Html.RenderPartial(string partialName,ViewDataDictionary viewData);

4、Html.RenderPartial(string partialName,object model,ViewDataDictionary viewData);

四、Html.RenderPatial和Html.RenderAction的主要区别

1、Html.RenderPatial:直接将View呈现在父视图的相应地方,View中绑定的Model需事先生成好

2、Html.RenderAction:需要进入子视图对应的Action方法中,按照Controller->Model->View的顺序走一遍,然后将产生的View呈现在父视图相应的地方,如果要呈现的视图需要后台处理数据,那么需要选用Html.RenderAction或者Html.Action

五、PartialView()与View()的区别

当返回视图后,View()会被加上默认的母板页,如果不需要layout,需要在页面上显式的加上Layout=null,如果返回分部视图PartialView,则相当于 Layout=null,不会加载 默认的母板页。即:

1、PartialView()=>渲染视图=>不带Layout

2、View()=>渲染分部视图=>自动加上Layout

标签: