asp.net mvc Html.Partial or Html.Action

来源:互联网 发布:淘宝优惠券佣金怎么算 编辑:程序博客网 时间:2024/06/06 19:11

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

阅读全文
0 0
原创粉丝点击