/ / KendoUI DropDownListForをViewDataまたはViewBagにバインドする方法は? - asp.net-mvc、kendo-ui

KendoUI DropDownListForをViewDataまたはViewBagにバインドする方法は? - asp.net-mvc、kendo-ui

私は、私のモデルの外部キーにKendoUI DropDownListForを使用し、ViewData / ViewBagの完全リストにバインドしようとしていますが、動作していないようです。何か不足していますか?

@(Html.DropDownListFor(model => model.Hotel.HotelStatusId, ViewData["HotelStatuses"] as SelectList))

これはうまくいくようですが、ビューモデルを作成する必要がありました。

@(Html.Kendo().DropDownListFor(model => model.Hotel.HotelStatusId)
.BindTo(Model.HotelStatuses)
.OptionLabel("select hotel status...")
)

私はASP MVCにデータを提出する必要があるので、viewmodelの使用を避けています。カスタムビューモデルでは、正しくバインドできませんでした。

回答:

回答№1の場合は7

Viewbag / ViewDataはコントローラで次のように記述できます:

ViewData["HotelStatuses"] =
new SelectList(db.HotelStatuses, "HotelStatusId", "HotelStatusText");

ビューでは、ViewData / ViewBagを使用できます。

 @(Html.Kendo().DropDownListFor(model => model.Hotel.HotelStatusId)
.BindTo(ViewData["HotelStatuses"] as SelectList))
.DataTextField("Text")