在mvc中为已填充的下拉列表添加额外选项

时间:2017-01-12 15:33:24

标签: c# asp.net-mvc

我有一个html下拉列表正在从我的数据库中填充,我已经能够成功完成但我现在遇到的问题是包含一个在数据库中不可用的附加选项作为一个选项,也可以选择。实际上是一个项目列表,但我想要一个选项ALL,当选择意味着用户正在选择数据库中显示的所有项目时,我的主要问题是如何包含ALL选项。我搜索并阅读了类似的问题,但它们并不是我想要实现的目标。谢谢你的帮助。这是我的代码 在我的控制器中我有这个:

var load = from bh in db.IV_001_ITEM
                           select bh;
               ViewBag.selection = new SelectList(load.ToList(), "item_code", "item_name", glay.vwstring2);
在我看来,我有这个:

<div class="col-sm-2">
                 @Html.DropDownListFor(m => m.vwstring2, ViewBag.selection as SelectList, "Select", new { @class = "form-control", required = "required", id = "selectc" } )
        </div>

1 个答案:

答案 0 :(得分:3)

您可以使用Add方法明确添加额外选项(SelectListItem

List<SelectListItem> optionList = db.IV_001_ITEM
                                    .Select(x=>new SelectListItem { Value=x.item.code,
                                                         Text=x.itemName}).ToList();
// Now add the item you want

optionList.Add(new SelectListItem { Value="Foo",Text="Bar"});

//use this now
ViewBag.Items = optionList;

// You can set the selected item on your view model property
myViewModelObject.vwstring2 = glay.vwstring2; //For the selected item
return View(myViewModelObject);

在您看来,

@Html.DropDownListFor(m => m.vwstring2, ViewBag.Items as List<SelectListItem>,
                                                "Select", new { @class = "form-control"})