比方說,我有一個產品列表。我想在供應商頁面上顯示某個供應商的產品列表。我還想在產品頁面上顯示產品的完整列表。對此,我使用的是局部視圖如何將佈局參數傳遞給部分視圖?
@Html.Partial("_ProductList", Model.Products)
局部視圖只是一堆列的基本表。
其中一個欄顯示供應商名稱。在產品頁面,這是有用的,但展現在用戶已經是供應商的頁面上,顯示了每一個產品的供應商名稱是沒有用的。
我想知道的是:什麼是這種佈局配置的傳遞到局部視圖的推薦方法?
是否使用ViewData的參數?
@Html.Partial("_CallList", Model.Calls, new ViewDataDictionary{{"HideCompany", true}})
當我這樣做時,我發現我必須在我的局部視圖中進行大量的投射,並且它真的會弄亂我的模板。另外,如果我想在部分視圖中放置我的Paginator,如何在不指定actionName的情況下生成URL?
@Html.PagedListPager(Model, page => Url.Action("Index", new { page = page }));
操作名稱不會是相同的,這取決於視圖嵌入partialview,所以它成爲另一件事我必須通過在ViewData的的partialview。
@Html.Partial("_CallList", Model.Calls, new ViewDataDictionary{{"ActionName", "Details"}, {"HideCompany", true}})
它只是變得醜陋和醜陋。
@Html.PagedListPager(Model, page => Url.Action((string)ViewData["ActionName"], new { page = page }));
在以前的框架中,我沒有指定動作名稱,只是使用當前活動的動作。
感謝