转载ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别
對(duì)這四個(gè)的區(qū)別做一個(gè)總結(jié),清理一下思路,方便以后使用:
1、帶有Render的方法返回值是void,在方法內(nèi)部進(jìn)行輸出;不帶的返回值類(lèi)型為MvcHtmlString,所以只能這樣使用: ??? @Html.Partial 對(duì)應(yīng) @{Html.RenderPartial(....);} ??? @Html.Action 對(duì)應(yīng) @{Html.RenderAction(....);}
2、Action、RenderAction加載方法的視圖,執(zhí)行Controller → Model → View的順序,然后把產(chǎn)生的頁(yè)面帶回到原來(lái)的View中再回傳。而Partial、RenderPartial直接加載視圖文件內(nèi)容
3.? Html.Partial可以直接提供用戶(hù)控件名作為參數(shù),而Html.Action需要有對(duì)應(yīng)的Action,在Action內(nèi)部返回PartailResult(即retun PartialView())。
4、對(duì)于簡(jiǎn)單的沒(méi)有任何邏輯的用戶(hù)控件,推薦使用Html.Partial;對(duì)于需要設(shè)置一些Model的用戶(hù)控件,推薦使用Html.Action。當(dāng)然,有Model數(shù)據(jù)也是可以使用Html.Partial方法的,可以看方法的重載。
5、使用Html.Action有個(gè)好處,就是可以根據(jù)不同的場(chǎng)景選擇不同的用戶(hù)控件。比如: @Html.Action("UserInfoControl") 在對(duì)應(yīng)的UserInfoControl這個(gè)Action中,在用戶(hù)未登錄的時(shí)候,可以retun PartialView("LogOnUserControl");登錄后,可以retun PartialView("UserInfoControl");
轉(zhuǎn)載于:https://www.cnblogs.com/wphl-27/p/3466960.html
總結(jié)
以上是生活随笔為你收集整理的转载ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 指针(二)
- 下一篇: 简单的对象监听器 观察者设计模式