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

本文实例为大家分享了MVC5下拉框单选绑定的具体代码,供大家参考,具体内容如下

1.Model

[Display(Name = "学历")]
 public ICollection asdflist{ get; set; }  //下拉框的类型

[Display(Name = "学历")]
[Required]
public int asdf { get; set; }    //学历这个字段的属性


2.controller

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

[Description("学历")]
[LoginAllowView]
 private List 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 bind_Education()
{
    List listItem = new List();
    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  
@Html.LabelFor(m => m.agj03, new { @class = "col-sm-2 control-label" })
@Html.DropDownListFor(model => model.asdf, Model.asdflist, new { @class = "form-control select2", style = "width: 100%;" }) @Html.ValidationMessageFor(m => m.asdf, "", new { @class = "text-danger" })

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的:(MVC5下拉框绑定的方法(单选))