是否有一种简单的方法在MVC(剃须刀)的下拉列表中显示值和文本字段?

问题描述:

我在剃刀简单视图下拉列表,是否有一种简单的方法在MVC(剃须刀)的下拉列表中显示值和文本字段?

@Html.DropDownList("Client_Id", null, htmlAttributes: new { @class = "form-control" }) 

且用于控制器我有以下viewbag,

ViewBag.Client_Id = new SelectList(db.ClientMetadatas, "Client_Id", "Name"); 

现在是有可能有一种简单的方式,以沿着显示CLIENT_ID名称在下拉菜单中?

我建议使用Select扩展方法创建一个匿名类。

ViewBag.Client_Id = new SelectList(db.ClientMetadatas.Select(x => new { ClientId = x.Client_Id, CombinedProperty = x.Client_Id.ToString() + " " + x.Name }).ToList(), "ClientId", "CombinedProperty"); 

请让我知道这是否能够帮助你!

+0

谢谢......这个工程,但我实际上是问是否有超负荷的dropdownlist方法或任何变化的方法,直接显示文本和值... – Rom

+0

没有没有。我很困惑你的问题。 Dropdownlist具有要提交给服务器的值以及与该值相对应的文本。所以,如果你想要显示值和文本给用户,那么你需要在文本参数中做到这一点..没有办法接受2个文本值显示给用户。 –

+0

从技术上讲,我给你展示的是使用dropdownlist overload的唯一选项来显示你想要显示的内容 –