1、自定义:
1 List<SelectListItem> list = new List<SelectListItem>(){ 2 new SelectListItem(){ Text="请选择类型...", Value=""}, 3 new SelectListItem(){ Text="所有", Value="0"}, 4 new SelectListItem(){ Text="男人", Value="1"}, 5 new SelectListItem(){ Text="女人", Value="2"}, 6 new SelectListItem(){ Text="小孩", Value="3"} 7 };
8
9 ViewBag.ClassTypeList = list;
2、从数据源获取:
1 var oneList = new BLL.ZZ_OneClassBLL().GetModelList("Status=1"); 2 3 oneList.Insert(0, new ZZ_OneClass() { Id = 0, Name = "-请选择-" }); 4 5 ViewBag.OneClassList = new SelectList(oneList, "Id", "Name", selectedVaule); //通过select生成
前台用DropDownList接收,其中DropDownList的第一个参数是下拉列表id,name的默认属性。
3、返回数据,前台拼接
1 var twoList = new BLL.ZZ_TwoClassBLL().GetModelList("Status=1 and OneClassID=" + id); 2 3 List<SelectListItem> list = new List<SelectListItem>(); 4 5foreach (var City in twoList) 6 { 7 list.Add(new SelectListItem { Text = City.Name, Value = City.Id.ToString() }); 8 } 9 10return Json(list, JsonRequestBehavior.AllowGet);
前2种是后台封装好数据,前台一个dropdownlist搞定;最后一个适用前台发送异步请求到后台,后台返回数据,前台拼接
状态保持:自定义时,可通过前台强类型; 也可以在后台给定选定值【 可通过同名属性自动装配】