首页 > 代码库 > ASP.NET MVC Dropdownlist

ASP.NET MVC Dropdownlist

 本文介绍如何在网页里显示DropDownList。

Step 1: 在Control里面添加方法 

        public ActionResult ShowDropDownList()        {            return View();        }

Step 2: 在View部分添加一下代码

@Html.DropDownList("Department", new List<SelectListItem> {     new SelectListItem {Text = "IT", Value = http://www.mamicode.com/"1", Selected = true},    new SelectListItem {Text = "HR", Value = http://www.mamicode.com/"2"},    new SelectListItem {Text = "Payroll", Value = http://www.mamicode.com/"3"},}, "Select Department")

 

上面部分是通过“手动”的形式添加dropdownlist的选项,如果想通过数据库读取内容,则首先添加Context, 然后通过Context获取数据表的内容。

技术分享

public ActionResult ShowDropDownList()        {            SampleDataContext db = new SampleDataContext();            ViewBag.Departments = new SelectList(db.Departments, "DepartmentID", "Name");            return View();        }
@Html.DropDownList("Departments", "Select Department")

保存在ViewBag.Departments里的数据自动显示在DropdownList里。

 

如果想让某一个项在加载的时候显示出来,可以把

ViewBag.Departments = new SelectList(db.Departments, "DepartmentID", "Name");

改成:

ViewBag.Departments = new SelectList(db.Departments, "DepartmentID", "Name", “1”);

这里“1”指的是显示项的ID。

 

但是这种方式还是比较“笨”,我们可以在表中设置一个属性叫做isSelected (如表中所示),通过每个选项的值来决定哪一个项被选定。

public ActionResult ShowDropDownList(){    SampleDataContext db = new SampleDataContext();    List<SelectListItem> selectListItems = new List<SelectListItem>();    foreach (var department in db.Departments)    {        SelectListItem selectListItem = new SelectListItem        {            Text = department.Name,            Value = department.DepartmentID.ToString(),            Selected = department.IsSelected.HasValue? department.IsSelected.Value : false        };        selectListItems.Add(selectListItem);    }    ViewBag.Departments = selectListItems;    return View();}

View端保持不变。

 

ASP.NET MVC Dropdownlist