说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

ASP.NET MVC3 如何将DataTable绑定到Html.DropDownList

HTML文档下载 WORD文档下载 PDF文档下载
我们需要实现一个性别选择列表菜单。

我们需要实现一个性别选择列表菜单。

首先,定义数据模型:

 

public class Sex {    public string gender { get; set; }    public string shortname { get; set; }}public List<SelectListItem> SexList() {    //这里可以从数据库读出sex数据,放到DataTable。这里我们用静态的数据作演示。    List<Sex> s = new List<Sex>() { new Sex() { gender = "Male", shortname = "M" }, new Sex() { gender = "Female", shortname = "F" } };    List<SelectListItem> items = new List<SelectListItem>();    //遍历数据并把它们添加到list中    foreach (Sex sex in s) {        SelectListItem item = new SelectListItem();        item.Text =sex.gender;        item.Value =sex.shortname;        items.Add(item);    }    return items;}

对于DataTable中的数据,遍历的代码可以这样:

 

foreach (DataRow row in tables.Rows) {	SelectListItem item = new SelectListItem();        item.Text = row["gender"].ToString();;        item.Value = row["shortname"].ToString();        if(item.Text == "Male")           item.Selected = true;  // 默认选择        else           item.Selected = false;        items.Add(item);}

 

 

在控制器中的代码应该是这样的:

 

[HttpGet]public ActionResult DetailAdd(){    Profile profile = new Profile();    profile.SexList=SexList();    return View(profile);}

在视图中:

 

@model Kery.Models.Profile@{    ViewBag.Title = "DetailAdd";    Layout = "~/Views/Shared/_Layout.cshtml";    请选择性别:@Html.DropDownList("name",Model.SexList)    // 或者@Html.DropDownListFor("name",Model.SexList)}

 

 

备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘