2012-03-04 111 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