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」)' –