将多个静态选项添加到ASP.NET MVC中的下拉列表

时间:2009-08-05 17:01:09

标签: asp.net-mvc

我想使用html帮助程序类在asp.net MVC的下拉列表中添加两个默认选项,它们是“--Please Select--”和“--Other--”。

我可以使用

添加一个静态选项
<%= Html.DropDownList("ddlserviceGroup",
    (IEnumerable<SelectListItem>)ViewData["ServiceGroups"], "--Select Item--")%>

但我需要添加两个选项,似乎无法使用HTML帮助程序类

来计算它

1 个答案:

答案 0 :(得分:2)

现有助手不允许这样做。我建议在控制器中添加选项,或者编写自己的扩展方法。

 var serviceGroups = db.Groups
                       .Select( g => new SelectListItem
                                     {
                                          Text = g.Name,
                                          Value = g.ID
                                     })
                       .ToList();
// prepend to list
serviceGroups.Insert( 0, new SelectListItem
                         {
                             Text = "--Select Item --",
                             Value = string.Empty
                         } );
// add at end
serviceGroups.Add( new SelectListItem
                   {
                       Text = "-- Other -- ",
                       Value = ????
                   });

ViewData["ServiceGroups"] = serviceGroups;

在视图中

<%=
    Html.DropDownList("ddlserviceGroup",
                      (IEnumerable<SelectListItem>)ViewData["ServiceGroups"]
 %>