我想填充一個項目的下拉列表。我使用MVC4與Twitter的引導的造型,在視覺工作室2012年在Twitter引導樣式和C中填充@ html.DropDownListFor()項目#
,我對控制器的代碼是:
String[] genders = { "Male","Female","Other"};
ViewBag.genders = new SelectList(genders);
在我的觀點是:
@Html.DropDownListFor("genders", "Select a gender", new { @class = "form-control" })
然而,我得到一個錯誤:
'The type arguments for method 'System.Web.Mvc.Html.SelectExtensions.DropDownListFor(System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>, System.Collections.Generic.IEnumerable, object)' cannot be inferred from the usage. Try specifying the type arguments explicitly.'
我已經嘗試了各種其他形式的聲明。但基本上我想保持控制器的狀態並在視圖中編輯語句。但我願意接受任何人願意提出的建議,以幫助我解決這個問題。
在此先感謝
謝謝你的幫助,但仍然有一些錯誤: System.Web.Mvc.HtmlHelper」中有一個名爲沒有適用的方法‘DropDownListFor’,但似乎有通過一個擴展方法名稱。擴展方法不能動態分派。考慮轉換動態參數或調用擴展方法而不使用擴展方法語法。 如何才能演員的爭論? –
Gman16
嘗試投影ViewBag.genders作爲SelectList:'(SelectList)ViewBag.genders' – cederlof
@ Gman16太棒了!我更新了演員的答案。如果解決了問題,請將答案標記爲已接受。 – cederlof