Html.Partial的适用情况
1.如果是静态文件最好用此方法 2.如果有ViewModel需要发送到主视图,可以用此方法 主视图中:
@model List<Menu> //此model为主视图的model @Html.Partial("_MenuHome",Model) //分布页面可以用此model形成动态分布页面 ps:这种分布页面视图无需在控制器中写出相对应的方法在分布页面_MenuHome中:
@model List<Menu> //与主页面的Model类型一致即可 @if(){ //to do: }Html.Action的适用情况 当需要从服务器拿额外的数据去填充此分布视图的时候,可以用此方法。 在控制器中可以写一个方法与此分布视图相对应:
public PartialViewResult _MenuHome() { List<Menu>=..... //to do return PartialView(model); //用法与其他视图无多大差异 }在分布视图上:
@model List<Menu> //接收从PartialViewResult 返回的model @if(){ //to do: }在主视图上只需要:
@Html.Action("_MenuHome")总而言之:静态页面最好用Html.Partial,动态页面用Html.Action。 Html.RenderPartial() 和 Html.RenderAction() 只是换了个名字而已,与上述两个方法大同小异。 原文:https://stackoverflow.com/questions/11766554/mvc-html-partial-or-html-action
