MVC5 下拉框绑定(单选)


1.Model

[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 class="form-group">
        @Html.LabelFor(m => m.agj03, new { @class = "col-sm-2 control-label" })
                <div class="col-sm-10">
                    @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();

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM