0

我有一张大约有 3 件物品的桌子。我希望Dropdown List使用该表填充。但我有一个条件,我只想在下拉列表中显示 2 个项目。怎么做到呢?

4

1 回答 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 回答