@ Html.DropDownList(M => m.colours,新的SelectList(Model.colours))
的DropDownList
否過載接受的表達式。對於代碼工作,你需要做的是這樣的:
Html.DropDownList("give_it_a_name", new SelectList(Model.colours))
或者,也許你的意思是使用DropDownListFor
,如果是那麼你需要兩樣東西:
- 的屬性,將接受的項目是從下拉
- 你的名單將被用來顯示選項的下拉
你的觀點應該是這樣的選擇:
public class YourVM
{
public string SelectedColor{get;set;}
public IEnumerable<string> Colors {get;set;}
}
你需要有這樣的事情在你的控制器:
var colors = "black, white, blue, green";
vm.colours = colors.Split(',');
最後,在您的視圖:
@Html.DropDownListFor(m => m.colours, new SelectList(Model.Colors))
這怎麼可能接受的答案,如果這個代碼甚至不會編譯?這是誤導其他人尋找正確的答案 –
@vonv。你是對的,我只是在一個地方更新了行,並沒有檢查它。我刪除了代碼,以免誤導,我會稍後再檢查它。感謝您指出了這一點。 –
不用擔心@KonradGadzina,我們都希望SO成爲開發者的好資源,所以最終的目標是獲得最好的內容。感謝您編輯您的答案;) –