DropDownList mvc3选中的值不起作用

时间:2012-03-04 18:56:58

标签: c# asp.net-mvc-3 razor

我有一个关于带有选定值的DropDownList的问题。

    @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时,它会自动选择正确的值,但是我认为有必要将所选的值放在列表中。

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

由于您使用的lambda表达式很复杂且涉及数组索引器,因此DropDownListFor帮助程序无法确定所选值。它只适用于简单的属性访问lambda表达式。

在这种情况下,您可以将选定的值作为第4个参数传递给SelectList构造函数,如下所示:

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