天天看點

【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有個好處,就是可以根據不同的場景選擇不同的使用者控件。比如: