2
我想过滤页面执行ajax请求异步更新结果列表。ASP.NET MVC Ajax:如何将参数值传递给来自select的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参数(选定的值在页面上的两个dropdownlists)提供给控制器动作的子表?
谢谢达林,Ajax.BeginForm是我一直在寻找的概念。 – Marek 2009-10-28 20:31:04