MVC中,Html.DropDownListFor如何绑定数据?
Model
class Model
{
// 保存下拉列表选中项的value
public string selectValue{get;set;}
}
view强类型绑定上述model
我在controller写一个selectList放到viewbag中,ViewBag.Options = selectList
然后在view中用DropDownListFor (model =>model.selectValue, ViewBay.Options as Inumerable<SelectListItem>) 可以正常显示,但是Post的时候出错。
类似下面这个错误,字段不一样
------最佳解决方案--------------------提示说的很清楚了,你返回的ViewData中没有"citys"这个键。
------其他解决方案--------------------Post 数据操作后,转向其他页面。
如果还需要返回当前这个页面,需要在Post的控制器中再写一次selectlist。
------其他解决方案--------------------注:我是想直接把选定项的value值绑定到model中的字段,因为我在post的action中要直接把这个model插入到数据库中。
------其他解决方案--------------------
我现在的问题不是下拉列表的数据绑定不上,而是如何能让下拉列表选中项的value值绑定在model中。
------其他解决方案--------------------
确实如此,可是,我想把选定项的value值保存到model中,还需要在viewData中赋值么?
------其他解决方案--------------------结贴:原因是自己傻逼了。
------其他解决方案--------------------顺便说下,citys不符合英文的习惯,应该是cities。
------其他解决方案--------------------如果你使用EF这样的框架,它会很智能地命名,比如有个表叫city,那么它会让实体命名为city,而实体集命名为cities。尤其是像person和people这样不规则的都可以处理,真的很好。