ASP.NET MVC 連動DropDownList (使用Ajax)

  • 4527
  • 0

摘要: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。