在视图里有多种方法可以加载部分视图,包括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。