C#DropDown列表默认值

时间:2013-02-13 17:19:25

标签: c# drop-down-menu

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

<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)

这样的东西

可能吗?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:0)

如果Model.Images类型为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>