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タイプが の場合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 に答える