1、controller
IAreaBll bll = new AreaBll();
List<Area> SaveCodeList = bll.Search(x => x.ParentCode == 0);
SelectList SaveCodeSelectList = new SelectList(SaveCodeList, "Code", "Name");
ViewData["SaveCodeSelectList"] = SaveCodeSelectList; //查询一级列表保存到ViewData
public ActionResult GetCityCode(int Code)
{
List<Area> areaList = Bll.Search(x => x.ParentCode == Code);
return Json(areaList, JsonRequestBehavior.AllowGet);
} //查询二级、三级列表 需要返回json //JsonRequestBehavior.AllowGet yun
2、View
<td>省:</td>
<td>
@Html.DropDownListFor(x => x.SaveCode, (SelectList)ViewData["SaveCodeSelectList"], "请选择")
</td>
<td>市:</td>
<td>
<select id="CityCode">
<option value="-1">请选择</option>
</select>
</td>
3、通过页面加载后change事件实现联动
<script type="text/javascript">
$(function () {
$("#SaveCode").change(function () {
$("#CityCode option:not(:first)").remove(); //清空市级除第一条(请选择)下拉框
var saveCode = $("#SaveCode").val();
$.ajax({
type: 'GET',
url: '/Area/GetCityCode?Code=' + saveCode,
dataType: 'json',
success: function (data) {
console.log(data);
for (var i = 0; i < data.length; i++) {
$("#CityCode").append("<option value='" + data[i].Code + "'>" + data[i].Name + "</option>");
}
}
});
}); }); </script>