比方说,我有一个产品列表。我想在供应商页面上显示某个供应商的产品列表。我还想在产品页面上显示产品的完整列表。对此,我使用的是局部视图如何将布局参数传递给部分视图?
@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 }));
在以前的框架中,我没有指定动作名称,只是使用当前活动的动作。
感谢