2012-03-04 83 views
1

我得到了一个关于具有选定值的DropDownList的问题。DropDownList mvc3选择的值不起作用

@Html.DropDownListFor(m => m.weekForEachDayService[6].serviceId, new SelectList (ViewBag.DayService, "Value", "Text")) 

正如你所看到的,我有一个服务与周weekForEachService有关。

当我运行它时,它从不使用SelectList中的serviceId。

@Html.DropDownListFor(m => m.weekForEachDayService[6].serviceId, new SelectList (ViewBag.DayService, "Value", "Text",m => m.weekForEachDayService[6].serviceId)) 

我也试过这样的事情,但后来我得到的错误消息不能转换类型lambda到对象。通常当我使用DropDownList时,它会自动选择正确的值,但对于这个相关的表,我认为有必要将选定的值放入列表中。

感谢您帮助

+0

感谢我一直使用的答案有用的按钮,但忘了接受小费。 – DavidVdd 2012-03-04 19:16:07

回答

2

由于所使用λ表达式是复杂的,涉及阵列索引的DropDownListFor助手不能确定选择的值。它只适用于简单的属性访问lambda表达式。

在这种情况下,您可以在选定的值作为第四个参数传递给SelectList构造,像这样:

@Html.DropDownListFor(
    m => m.weekForEachDayService[6].serviceId, 
    new SelectList(
     ViewBag.DayService, 
     "Value", 
     "Text", 
     Model.weekForEachDayService[6].serviceId 
    ) 
) 
+0

非常感谢! – DavidVdd 2012-03-04 19:17:43