1.Action、RenderAction載入辦法的視圖,履行Controller → Model → View的次序,然後把產生的頁面帶回到本來的View中再回傳。而Partial、RenderPartial直接載入視圖文件內容 2.Html.Partial可以直接供給用戶控制項名作為參數,而Htm ...
1.Action、RenderAction載入辦法的視圖,履行Controller → Model → View的次序,然後把產生的頁面帶回到本來的View中再回傳。而Partial、RenderPartial直接載入視圖文件內容
2.Html.Partial可以直接供給用戶控制項名作為參數,而Html.Action須要有對應的Action,在Action內部返回PartailResult(即retun PartialView())。
3.對於簡單的沒有任何邏輯的用戶控制項,推薦應用Html.Partial;對於須要設置一些Model的用戶控制項,推薦應用Html.Action。當然,有Model數據也是可以應用Html.Partial辦法的,可以看辦法的重載。
4.Html.Partial與Html.Action有啥區別呢?區別就是,Html.Partial只有一個視圖,而Html.Action除了視圖,還真的有個Action跟它對應,所以,Html.Action功能比Html.Partial要強。
如何調用這個Html.Partial
//1、以視圖名使用當前文件夾下的視圖(如果沒有找到,則搜索 Shared 文件夾)
@Html.Partial(
"_test"
)
//載入對應文件 /Views/Product/_test.cshtml
//2、依據應用根路徑定位視圖// 以 "/" 或 "~/" 開頭的路徑代表應用根路徑
@Html.Partial(
"~/Views/Product/_test.cshtml"
)
@Html.Partial(
"/Views/Product/_test2.cshtml"
)
//3、載入其他目錄的 視圖文件
//註意:需要複製views中的web.config 到template目錄,否則會提示 "/template/A.cshtml”處的視圖必須派生自 WebViewPage 或 WebViewPage<TModel>"
@Html.Partial(
"/template/A.cshtml"
)