繁体   English   中英

MVC下拉列表未绑定到模型

[英]MVC Dropdown List isn't binding to the model

我正在尝试建立一个简单的下拉列表,但似乎无法将其绑定到模型。 我正在使用Asp.Net MVC和nhibernate。

我的下拉列表声明如下:

<%= Html.DropDownListFor(model => model.Project, (IEnumerable<SelectListItem>)ViewData["Projects"], " -- Select -- ", new { name = "Project" })%>

我像这样设置选择列表:

ViewData["Projects"] = new SelectList(projectRepository.GetAll(), "EntityGUID", "Name", editEntity.Project);

这似乎将选择列表绑定到Dropdown上,但未设置SelectedValue。 它显示为默认--选择-

同样,当我保存此数据时,下拉列表不会绑定到模型,我必须像这样手动设置对象以保存它:

entity.Project = projectRepository.GetById(new Guid(Request["Project"].ToString()));

我相信我已经采取了正确的措施使该项目直接绑定到我的模型。 我在这里缺少什么吗?

Rod,非常感谢您的宝贵时间

我的天哪,我发现了问题........

我花了3天的时间转向:

<%= Html.DropDownListFor(model => model.Aspect, (IEnumerable<SelectListItem>)ViewData["AspectTypes"])%>

变成:

<%= Html.DropDownListFor(model => model.Aspect.EntityGUID, (IEnumerable<SelectListItem>)ViewData["AspectTypes"])%>

model.Aspect **。EntityGUID **我必须将下拉列表绑定到对象guid,而不是对象本身。 Doh ....我感到很痛苦,需要做很多工作。

谢谢你的时间。

这只是预感,因为您的代码对我来说看起来不错,但我认为在定义SelectList时不需要包括SelectList参数。 设置该字段可能会干扰正常的事物流(覆盖模型绑定),并且我从未绑定DropDownList并设置了SelectListSelectedValue

尝试删除它,然后看看它如何进行。

SelectList(projectRepository.GetAll(), "EntityGUID", "Name"); 

不久前我也问了一个有关如何在MVC2中实现DropDownList问题,您可能会觉得有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM