具有空选择的SelectList

dna*_*oli 17 .net c# asp.net-mvc

我的视图中有一堆下拉列表,例如:

@Html.DropDownListFor(model => model.Process, Model.ProcessList)
Run Code Online (Sandbox Code Playgroud)

它们都SelectList基于数据库表中的数据,如下所示:

ProcessList = new SelectList(_db.Processes, "ID", "Name");
Run Code Online (Sandbox Code Playgroud)

哪里_db.Processes返回一个ObjectSet<Process>.

我遇到的问题是,有时由下拉列表设置的属性可能没有选择,即null.如何nullSelectList> 添加选择

Muh*_*hid 27

@Html.DropDownListFor(model => model.Process, Model.ProcessList,"--Select Process--")
Run Code Online (Sandbox Code Playgroud)

上面的行将添加--select process--到选择列表的顶部,如果选择此值,将发布空字符串,绑定属性将设置为null(在这种情况下为处理)

  • 我有同样的问题... nullable布尔值,当null是它的值而不是选择时,在这种情况下将是"--Select Process--",它选择DDL中的第一个值(第二个选项) ...我可以解决这个问题,而不必诉诸于设置0或-1或其他东西吗? (4认同)
  • 我发现只要我在列表中添加一个空条目(通过模型,或通过label选项),它将只默认选择第一个项目.我已经切换到使用KendoUI DropDownList并且问题消失了所以我假设它可能是标准DropDownList(或我的项目配置)的错误.KendoUI的下拉列表在所有条目中都需要一个非空值(例如0),因此它不是一个完美的解决方案. (3认同)