@Html.Action:需要有对应的Action,并且Action方法有返回值。(注:处理完业务逻辑同时,也需要返回所需值)
@{Html.RenderAction}:需要有对应的Action,Action方法没有返回值。(注:只处理业务逻辑,不需要返回值)
@Html.Partial:不需要有Action,直接取ViewName对应的页面内容,有返回值。(注:Patial的数据来自于调用的View)
@{Html.RenderPartial}:不需要有Action,直接获取ViewName对应的页面内容,没有返回值。(注:RenderPatial的数据来自于调用的View)
详细说明:
RenderPartial和RenderAction
两者的相同点
RenderPartial和RenderAction通常都被用来显示一个功能相对独立的“块”,比如说显示菜单或者导航条。 两者输出的结果都被作为调用的View的一部分显示。
两者的不同点
1.RenderPatial的数据来自于调用的View,而RenderAction来自自己。
2.RenderAction会发起一个新的Request,而RenderPatial不会。