MVC5下拉框绑定的方法(单选)

[Display(Name = "学历")] public ICollection<System.Web.Mvc.SelectListItem> asdflist{ get; set; } //下拉框的类型 [Display(Name = "学历")] [Required] public int asdf { get; set; } //学历这个字段的属性

2.controller

(1)先写一个程式绑定,可以通过数据库绑定或者直接绑定

[Description("学历")] [LoginAllowView] private List<SelectListItem> bind_Education() { StringBuilder sb = new StringBuilder(); sb.Append(" select id,name "); sb.Append(" from Edu_file "); DataTable dt = sqlHelp.getData(sb.ToString());//sqlHelp是已经写好的帮助类,便于数据库的操作 var factorOptions = dt.AsEnumerable().Select(row => new SelectListItem { Text = row["name"], Value = row["id"] }).ToList(); return factorOptions; } [Description("学历")] [LoginAllowView] private List<SelectListItem> bind_Education() { List<SelectListItem> listItem = new List<SelectListItem>(); listItem.Add(new SelectListItem { Text = "本科", Value = "1" }); listItem.Add(new SelectListItem { Text = "硕士", Value = "2" }); listItem.Add(new SelectListItem { Text = "博士", Value = "3" }); return listItem; }

(2)初始化,并传给视图

[Description("我的学历")] [UIExceptionResult] public ActionResult Edu() { var edu= new EduModel(); edu.asdflist=bind_Education(); //初始化下拉框的值 return View(edu); }

3.视图

@model RsJob.Web.Models.EduModel <div> @Html.LabelFor(m => m.agj03, new { @class = "col-sm-2 control-label" }) <div> @Html.DropDownListFor(model => model.asdf, Model.asdflist, new { @class = "form-control select2", style = "width: 100%;" }) @Html.ValidationMessageFor(m => m.asdf, "", new { @class = "text-danger" }) </div> </div>

select2是bootstrap的样式,js添加:$('.select2').select2();

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdpdgp.html