我在C#asp.net MVC3 razor引擎中有一个下拉列表。 我需要从我的数据库中的一个表中将值加载到该下拉列表中,并且某些值是硬编码的。 所以我需要将两种值都放在一个下拉列表中。
我可以单独做。
这就是我的看法:
@Html.DropDownListFor(model => model.MyTransaction.Status, new MultiSelectList(ViewBag.MyStatusId, "ID", "Name"))
创建枚举的模型:
public enum Ntypes{
halfday
casual
}
我的控制器:
ViewBag.MyTransaction = db.LeaveTypes.ToList(); //get the table values to drop down
//然后我甚至可以分别获得硬编码值............
ViewBag.MyTansaction = (from NewLeaveTypes t in Enum.GetValues(typeof(Ntypes))
select new { ID = t, Name = t.ToString()).ToList();
但是无法将这两个值都放入一个下拉列表中。 Plzzzz帮助。
由于...........
答案 0 :(得分:2)
您可以将两个列表连接在一起:
var nTypes = Enum
.GetValues(typeof(Ntypes))
.Select(t => new LeaveType { ID = t, Name = t.ToString())
.ToList();
ViewBag.MyTransaction = db.LeaveTypes.ToList().Concat(nTypes);
然后在视图中:
@Html.DropDownListFor(
model => model.MyTransaction.Status,
new SelectList(ViewBag.MyTransaction, "ID", "Name")
)