0. 普通的下拉框
@Html.DropDownList("type", DataHelper.GetOrderStatus(null, "--全部订单--"), new { @style = "160px" })
1. typeof(Gender) 利用的枚举。
@model SearchEView @Html.EnumDropdown(Model, m => m.Gender, null, typeof(Gender))
2.ajax的dropdown请求。
@Html.Hidden("trainId", 0) @Html.AjaxDropdown("ClassId", null, "AuthorClass", "GetItems", "trainId", new { }, "search")
在搜索search中,ajax的dropdown控件名称都是以search.为前缀的,在搜索的时候用searchView 能传过去值。
"ClassId" 是获取的值,null 是传值参数,authorclass 是control,getItems是action,trainId是搜索参数
带三个参数的获取dropdownlist值的方法
类 型:<br />
@Html.EditorFor(m=>m.Setting)
@Html.ValidationMessageFor(m=>m.Setting)
@Html.Hidden("Refresh","") @Html.AjaxDropdown("ParentId", null, "AuthorClass", "GetItems", "Refresh", new { @class = "def" }, null, Setting => "TrainId")
public override ActionResult GetItems(int? key, int? search,int? trainId) { key = key ?? 0; trainId = trainId ?? search; if (key != 0) { trainId=service.GetById(key).Setting; } if (trainId == null&&key==0) { trainId = -1; } var models = service.GetAll().Where(m => m.Setting == trainId); var tree = new ClassTree<IClassModel>(models); if (trainId.HasValue) { tree = tree.Format(new AuthorClass { ClassName = "全部" }); } var treeModels = tree.Select(m => new SelectListItem { Text = Server.HtmlEncode(m.ClassName), Value = m.ClassId == 0 ? "" : m.ClassId.ToString(), Selected = (m.ClassId == key) }).ToList(); return Json(models==null?null:treeModels); }