asp.net mvc 中的部分檢視

MyCoolDog發表於2016-05-23

使用方法:@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");

相關文章