1
现在我打电话对象变成_layout菜单与PartialView
这样的:最佳实践来调用不同的列表
控制器:
public async Task<ActionResult> GetChemicalsList()
{
var model = db.ProductsList.Where(x => x.Subcategory.Name == "Chemicals").ToList();
return PartialView(@"~/Views/Product/_ChemicalPartialView.cshtml", model);
}
管窥:
@model IEnumerable<Product>
@foreach (var item in Model)
{
<a href="@Url.Action("Index", "Product", new { id= item.ProductId})">@Html.DisplayFor(modelItem => item.Name)</a>
}
布局视图:
<div class="col-xs-6 col-sm-2">
@Html.Action("GetChemicalsList", "Product")
</div>
但我有另一个产品与不同的子类别添加,所以我需要做一个控制器和不同的调用到每个视图,因为每个人都有不同的控制器查询:例如,我做了另一个配件,所以我的控制器是这样的一个:
配件控制器:
public async Task<ActionResult> GetAccesoriesList()
{
var model = db.ProductsList.Where(x => x.Subcategory.Name == "Accesories").ToList(); // diferent Query
return PartialView(@"~/Views/Product/_ChemicalPartialView.cshtml", model);
}
_layout查看
<div class="col-xs-6 col-sm-2">
@Html.Action("GetAccesoriesList", "Product")
</div>
是正确的方法来做到这一点,或有另一种最好的方法?
提前致谢!
你可以使用一个带有'Subcategory.Name'参数的方法来说'public Async Task Fetch(string category)'并使用'@ Html.Action(“Fetch”,Product“,new { category =“Accesories”)' –