在asp.net中的SelectList()上有两个值

时间:2015-05-21 06:12:05

标签: c# asp.net asp.net-mvc

我正在尝试使用asp.net mvc 4& EF6我正在使用dropdownlist将数据分配给我需要的文本框。到目前为止,我已设法将数据分配给两个文本框,其中一个文本框包含所选项目的下拉列表&一个包含为所选项目指定的文本。但我需要从所选项目中添加另一个值。我的代码在下面,

控制器

ViewBag.Clients = new SelectList(db.ClientInfoes, "age", "fullname");    //This is given
ViewBag.Clients = new SelectList(db.ClientInfoes, "id", "age", "fullname");    //I want something like this

查看

@Html.DropDownList("Clients", "Select...")

// Textboxes are populated automatically by using jQuery
@Html.TextBoxFor(a => a.Fullname, new { id = "clientName", @readonly = "readonly" })
@Html.TextBoxFor(a => a.Age, new { id = "clientAge", @readonly = "readonly" })

如何在SelectList中分配多个值?我能做到的任何方式都可以。非常需要这个帮助。感谢。

1 个答案:

答案 0 :(得分:2)

看起来你想在下拉文本中显示名称和年龄,在这种情况下你需要预测来自数据库的结果:

var ClientInfoes = db.ClientInfoes
                     .Select(x=>
                             new {
                                    id = x.id,
                                    name = x.fullname+","+x.age 
                                 });

ViewBag.Clients = new SelectList(ClientInfoes, "id", "name");