在ASP.NET MVC中加载部分视图的方法及差别

时间:2021-08-27 09:51:32

在视图里有多种方法可以加载部分视图,包括Partial() 、Action()、RenderPartial()、RenderAction()、RenderPage()方法。下面说明一下这些方法的差别。

1. Partial与RenderPartial方法

  Partial可以直接输出内容,在内部将html内容转化为String字符(MVCHtmlString),然后缓存起来,最后一次性输出到页面。效率比较低

  通常使用RenderPartial代替

 2. RenderPartial与RenderAction方法

  RenderPartial不需要创建Controller的Action,而RenderAction需要Controller中创建要加载的Action。

  如果部分视图只是一些简单的Html代码,请使用RenderPartial

3. RenderAction与Action方法

  Action也是直接输出,和Partial一样存在一个转换的过程,不如RenderAction直接输出效率高

4. RenderPage与RenderPartial方法

  使用RenderPage呈现部分视图就不能使用原来视图的Model和ViewDate,只能通过参数来传递;而RenderPartial可以使用原来视图的Model和ViewData。