asp.net mvc 中的部分视图

使用方法:@Html.Action(action, controller)
加载局部页面。
例如在模板页中使用:@Html.Action("Contact", "Company")
在CompanyController中有如下方法:
public PartialViewResult Contact()

{
   return PartialView();
}

ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction差别

对这四个的差别做一个总结,清理一下思路,便利今后应用:

1、带有Render的办法返回值是void,在办法内部进行输出;不带的返回值类型为MvcHtmlString,所以只能如许应用:
    @Html.Partial 对应 @{Html.RenderPartial(....);}
    @Html.Action 对应 @{Html.RenderAction(....);}

2、Action、RenderAction加载办法的视图,履行Controller → Model → View的次序,然后把产生的页面带回到本来的View中再回传。而Partial、RenderPartial直接加载视图文件内容

3.  Html.Partial可以直接供给用户控件名作为参数,而Html.Action须要有对应的Action,在Action内部返回PartailResult(即retun PartialView())。

4、对于简单的没有任何逻辑的用户控件,推荐应用Html.Partial;对于须要设置一些Model的用户控件,推荐应用Html.Action。当然,有Model数据也是可以应用Html.Partial办法的,可以看办法的重载。

5、应用Html.Action有个益处,就是可以按照不合的场景选择不合的用户控件。比如:
@Html.Action("UserInfoControl")
在对应的UserInfoControl这个Action中,在用户未登录的时辰,可以retun PartialView("LogOnUserControl");登录后,可以retun PartialView("UserInfoControl");

posted @ 2016-05-23 18:02  MyCoolDog  阅读(5479)  评论(0编辑  收藏  举报