0

我正在使用此代码将数据库表中的值输入到下拉列表中:

<div class="editor-field">
        @Html.DropDownListFor(model => model.TourImageID, new SelectList(Model.Images, "ImageID", "Filename", Model.TourImageID))
</div>

我想要做的是将一个项目添加到列表的顶部,该项目不存在于数据库表中。

就像是DROPDOWN LIST VALUES = (DEFAULT-ITEM) + (DATABASE-TABLE-ITEMS)

那可能吗?如果是这样,如何?

4

1 回答 1

0

如果你Model.Images是 type SelectList,你可以在你的控制器中做这样的事情:

var query = UnitOfWork.GlobalImageLibraryRepository.Images.Select(x => new { x.ImageID, x.Filename });

viewModel.Images = new SelectList(query.AsEnumerable(), "ImageID", "Filename");
viewModel.Images.Insert(0, new SelectListItem { Value = "0", Text = "--Select--" });

我假设您的 GlobalImageLibraryRepository 类中有一个方法返回IQueryable<Images>如下:

public IQueryable<Images> Images { get { return dbcontext.Images; } }

所以毕竟,您的视图将如下所示:

<div class="editor-field">
        @Html.DropDownListFor(model => model.TourImageID, (SelectList)Model.Images, Model.TourImageID))
</div>
于 2013-02-13T17:29:51.107 回答