Razor布局-部分视图
视图里有五种加载部分视图的方法
Partial()、Action()、RenderPartial()、RenderAction()、RenderPage()
1.Partial与RenderPartial
- Razor语法:@Html.Partial()与@{HTML.RenderPartial();}
- 区别:Partial可以直接输出内容,在内部将html内容转换为String,然后后缓存起来,最后一次性输出到页面。但是这个转换过程会降低效率,所以通常使用RenderPartial代替
2.RenderPartial与RenderAction
- Razor语法:@{HTML.RenderPartial();}与@{Html.RenderAction();}
- 区别:RenderPartial不需要创建Controller的Action,而RenderAction需要在Controller中创建要加载的Action
RenderAction会先去调用Controller的Action再去呈现视图,所以这里会在发起一个链接。如果这个部分视图只是一些简单的Html代码,请使用RenderPartial。如果这个部分视图除了有Html代码外,还需要通过读取数据库里的数据来渲染,就必须使用RenderAction了,因为他可以在Action里调用Model里的方法读取数据库,渲染视图后再呈现,而RenderPartial没有Action,所以无法办到