Я хотел бы иметь страницу фильтрации, которая выполняет запросы ajax для асинхронного обновления списка результатов.
Есть два комбинированных списка со значениями параметров и один Ajax.ActionLink.
Список представляется как частичное представление внутри div.
Я знаю, как реализовать часть контроллера, а также логику взаимодействия. Чего мне не хватает, так это передачи аргументов в вызове Ajax.ActionLink.
Когда пользователь нажимает на ссылку, я хотел бы обновить список, отображаемый как частичное представление "SubList".
<%= Html.DropDownList("branches", Model.Branches) %>
<%= Html.DropDownList("regions", Model.Regions) %>
<%= Ajax.ActionLink("Filter", "SubList",
new {branchID = ??, regionID = ??},
new AjaxOptions() { UpdateTargetId = "theList"} ) %>
<div id="theList">
<% Html.RenderPartial("SubList", Model.List); %>
</div>
Действие контроллера, извлекающее данные для частичного представления:
public ActionResult SubList(int branchId, int regionId)
{
if (this.Request.IsAjaxRequest())
{
List<Company> filtered = this.repository.QueryCompanies().Where(c => c.BranchID == branchId && c.RegionID == regionId).ToList();
return PartialView("SubList", filtered);
}
return null;
}
Как передать аргументы branchID и regionID (выбранные значения из двух выпадающих списков на странице) в действие SubList контроллера?