Html.DropDownList()的默认空值

时间:2014-03-04 19:56:35

标签: c# asp.net-mvc

我正在创建一个下拉列表,如下所示:

@Html.DropDownList("Segments", String.Empty)

并使用ViewBag.Segments填充它

Html.DropDownList的这个特殊重载在列表顶部创建一个空白条目,没有任何值。当下拉列表没有选定的段时,它默认为列表中的第一项(值为1)而不是空白条目(无值)。

HTML呈现为:

<select id="foo" name="foo">
  <option value></option>
  <option selected="selected" value="1">First</option>
  <option value="2">Second</option>
  <option value="3">Third</option>

有没有办法可以让它默认为空白项?

1 个答案:

答案 0 :(得分:-2)

Htmlhelper还没有完成你想要的方法重载DropDownList。你可以创建你需要的List。这样的事情:

List<SelectListItem> list = new List<SelectListItem>();
list.add(new SelectListItem(){ Value="", Key = 0});
foreach(var item in Repositury){
   list.add(new SelectListItem(){ Value=item.value, Key = item.key});
}
ViewBag.list = list;

使用DropDownList后:

@Html.DropDownList("Segments", (List<SelectListItem>)ViewBag.list)