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

时间:2013-01-01 05:24:02

标签: asp.net-mvc kendo-ui

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

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

这似乎有效,但要求我创建一个viewmodel。

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

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

1 个答案:

答案 0 :(得分:8)

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