没有SelectList的强类型ASP.NET MVC DropDownList

时间:2012-07-12 16:27:25

标签: asp.net-mvc-3 knockout.js

有没有办法删除下面的selectlist参数并仍然使用HTML Helper?我喜欢强类型选项,但是使用knockout.js很多。

@Html.DropDownListFor(m => m.ProgramId, new SelectList(Enumerable.Empty<ProgramModel>()), new { data_bind = "enable: programs().length > 0, value: programId, options: programs, optionsText: 'Name', optionsValue: 'Id', optionsCaption: ' -- Choose Program -- ', event: { change: function(_,event) { getLicenseProductsForProgram() } }" })

2 个答案:

答案 0 :(得分:1)

不,那是不可能的。标准的DropDownList / DropDownListFor助手期望IEnumerable<SelectListItem>作为第二个参数。显然,没有什么可以阻止您编写自定义帮助程序或自定义编辑器模板。

答案 1 :(得分:1)

由于下拉列表实际上需要包含选项列表,因此需要selectlist参数。您可以随时将空列表传递给它:

@Html.DropDownListFor(m => m.ProgramId, new List<SelectListItem>(), new { [the rest of your stuff] })