【发布时间】:2014-02-12 22:27:29
【问题描述】:
我使用以下方法使用AJAX 进行Async 回发。单击submit 时效果很好。但我想知道,是否可以通过AJAX 在控制器中调用各种ActionMethods。
我想实现类似级联下拉菜单的功能。如何在下拉值更改时通过AJAX 调用不同的ActionMethod?
这是在提交表单时只调用一个ActionMethod的代码。
查看
@{
ViewBag.Title = "Index";
var options = new AjaxOptions()
{
Url = Url.Action("Index", "City"),
LoadingElementId = "saving",
LoadingElementDuration = 2000,
Confirm = "Are you sure you want to submit?"
};
}
<h2>Index</h2>
@using (Ajax.BeginForm(options))
{
<div id="saving">Loading...</div>
@Html.DropDownList("Countries",ViewBag.Countries as SelectList)<input type="submit" />
}
控制器
public ActionResult Index()
{
IEnumerable<SelectListItem> selectListItems = new []
{
new SelectListItem{ Text = "US",Value = "1" }
};
ViewBag.Countries = selectListItems;
return View();
}
public ActionResult GetState(string countryId)
{
IEnumerable<SelectListItem> selectListItems = new[]
{
new SelectListItem { Text = "Tennesse", Value = "1" },
new SelectListItem { Text = "Newyork", Value = "2" }
};
return View();
}
【问题讨论】:
标签: asp.net-mvc-4