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搞定;最后一个适用前台发送异步请求到后台,后台返回数据,前台拼接
状态保持:自定义时,可通过前台强类型; 也可以在后台给定选定值【 可通过同名属性自动装配】