我有一张大约有 3 件物品的桌子。我希望Dropdown List
使用该表填充。但我有一个条件,我只想在下拉列表中显示 2 个项目。怎么做到呢?
问问题
1294 次
1 回答
0
您可以使用视图模型:
public class MyViewModel
{
public string SelectedItemId { get; set; }
public IEnumerable<SelectListItem> Items { get; set; }
}
然后取前 2 项(显然,如果您的要求是根据某些条件取其他 2 项,您可以使用.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)
于 2012-07-13T16:44:41.133 回答