我有一张约3件物品的桌子。我希望使用该表填充Dropdown List
。但我有一个条件,我想在下拉列表中只显示2项。怎么办呢?
答案 0 :(得分:0)
您可以使用视图模型:
public class MyViewModel
{
public string SelectedItemId { get; set; }
public IEnumerable<SelectListItem> Items { get; set; }
}
然后选择前两项(显然,如果您的要求是根据某些条件采取其他一些条款,您可以使用.Where()
扩展方法进行链接,以便在调用.Take()
之前先过滤):
public ActionResult Index()
{
var model = new MyViewModel();
model.Items = db.Items.Take(2).ToList().Select(x => new SelectListItem
{
Value = x.Id,
Text = x.SomeText
});
return View(model);
}
视图是标准的东西,只需调用DropDownListFor帮助器:
@model MyViewModel
@Html.DropDownListFor(x => x.SelectedItemId, Model.Items)