在控制器中我有这个代码,此时我的DropDown列表仅用于名字。
代码在这里:
ViewBag.patnikID = new SelectList(db.tbl_patnici, "pID", "firstname");
现在我需要一些像这样的代码:
ViewBag.patnikID = new SelectList(db.tbl_patnici, "pID", ("firstname" + "lastname"));
怎么做?
答案 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" })