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