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