如何在DropDown列表中获取FirstName和LastName

时间:2017-04-03 13:17:53

标签: c# asp.net-mvc asp.net-mvc-4 model-view-controller

在控制器中我有这个代码,此时我的DropDown列表仅用于名字。

代码在这里:

ViewBag.patnikID = new SelectList(db.tbl_patnici, "pID", "firstname");

现在我需要一些像这样的代码:

ViewBag.patnikID = new SelectList(db.tbl_patnici, "pID", ("firstname" + "lastname"));

怎么做?

3 个答案:

答案 0 :(得分:1)

您的tbl_patnici课程

public class tbl_patnici
{
   public int pID { get; set; }
   public string firstname { get; set; }
   public string lastname { get; set; }
   //[NotMapped] If you use entityframework then you must use NotMapped attribute.
   public string fullname { get { return this.firstname + " " + this.lastname; } }
}

ViewBag.patnikID = new SelectList(db.tbl_patnici, "pID", "fullname");

答案 1 :(得分:0)

我建议您不要直接绑定到数据库源,而是绑定到您自己的IEnumerable,它具有您想要的属性。我经常有一个可重复使用的“ListItem”类,它具有ID和Text属性,然后使用一个函数用我想要的数据填充列表。

例如:

创建一个新类:

public class ListItem
{
    public int ID { get; set; }
    public string Text { get; set; }
}

创建辅助函数:

public List<ListItem> GetList()
{
    // get "db" here.
    return db.tbl_patnici.Select(x => new ListItem {
        ID = x.pID,
        Text = x.firstname + " " + x.lastname
    });
}

这样称呼:

ViewBag.patnikID = new SelectList(GetList(), "ID", "Text");

答案 2 :(得分:0)

您可以查看:

@Html.DropDownListFor(model => model.pID, new SelectList(db.tbl_patnici, "pID", Model.firstname + " " + Model.lastname, Model.pID), new { style = " width:260px" })