Async
を使用してポストバックを実行するには、以下の方法を使用しAJAX
ました。これは、をクリックすると正常に機能しsubmit
ます。しかし、私が知りたいActionMethod
のは、を介してコントローラー内のさまざまなsを呼び出すことが可能かどうかAJAX
です。
カスケードドロップダウンのようなものを実装したいと思います。ドロップダウン値の変更ActionMethod
を介して別の呼び出しを行う方法は?AJAX
ActionMethod
これは、フォームの送信時に1つだけを呼び出すコードです。
意見
@{
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();
}