我想填充一个项目的下拉列表。我使用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