我正在尝试使用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,我无法正确绑定它.
解决方法
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")