好库网 好库网首页 | 我的好库
好饱的专栏

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

发布者:好饱
发布日期:2012/4/7 18:10:52   更新日期:2012/4/7 18:37:42
阅读次数:4746
评分:4.80
介绍:我们需要实现一个性别选择列表菜单。
正文:

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

首先,定义数据模型:

 

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)
}

 

 


评论 [发表评论]
账号 密码 还没帐号呢,现在注册一个?

免责声明:好库网所展示的信息由买卖双方自行提供,其真实性、准确性和合法性由信息发布人负责。好库网不提供任何保证,并不承担任何法律责任。