如何将KendoUI DropDownListFor绑定到ViewData或ViewBag?

Jee*_*Lee 6 asp.net-mvc kendo-ui

我正在尝试使用KendoUI DropDownListFor作为我的模型外键并将其与ViewData/ViewBag完整列表绑定但似乎无法正常工作,我错过了什么?

@(Html.DropDownListFor(model => model.Hotel.HotelStatusId, ViewData["HotelStatuses"] as SelectList))
Run Code Online (Sandbox Code Playgroud)

这似乎工作,但要求我创建一个viewmodel.

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

我正在避免使用viewmodel,因为我需要将数据提交回ASP MVC.使用自定义viewmodel,我无法正确绑定它.

Bah*_*man 8

Viewbag/ViewData可以在控制器中像这样填充:

ViewData["HotelStatuses"] = 
new SelectList(db.HotelStatuses, "HotelStatusId", "HotelStatusText");
Run Code Online (Sandbox Code Playgroud)

在视图中,您可以使用ViewData/ViewBag:

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