摘要:ASP.NET MVC 連動DropDownList (使用Ajax)
前言
承接上篇的「ASP.NET MVC 連動DropDownList」,本篇改使用Ajax的方法來處理,Controller寫法更加容易,請參考以下的作法。
View
@using (Html.BeginForm("Index", "DropDown", FormMethod.Post, new { name = "form1" }))
{
@Html.DropDownList("group_id1", ViewBag.group_id1 as SelectList, new { onchange = "tab(this)" })
}
說明如下:
(1) 其實與前篇差不多,差別在於第二個dropdwon是使用js append進去的,因此預設是先建立<select id="XX"></select>。
當然呢,做法很多種,要使用div或是span再動態加入<select>也是可以的。
(2) Ajax的部份,呼叫"GetListItem"這個Method,然後使用Get方式,將主分類的id傳過去。
(3) 回傳成功後,再呼叫function -SetValue,再跑回圈解析json結果動態塞值到次分類的下拉選單。
Controller
public ActionResult GetListItem(int id)
{
return Json(SetDropDown2(id), JsonRequestBehavior.AllowGet);
}
其它程式請參考上篇文章,只要加入GetListItem供前端Ajax呼叫,再將list結果以json格式回傳即可。
延伸說明:action上沒指明是post或get時,預設為接受get。