将两个IEnumerables组合成一个下拉列表,分为几个部分

时间:2016-01-26 19:12:01

标签: asp.net-mvc-4 razor twitter-bootstrap-3

我有一个下拉列表,填充了IEnumerable。我想将另一个IEnumerable添加到同一个下拉列表中,在带有标题的不同部分下。

分区下拉列表在bootstrap中可用,但我不确定如何使用html.dropdownlistfor()实现它。我使用“GetList()”函数返回IEnumerable。我会使用类似的命令在同一下拉列表中为第二部分获取第二个IEnumerable。

我目前的代码如下:

<div>
        @Html.DropDownListFor(model => model.default,
        new SelectList(GetList(), "ID", "Description"),
        "Select an item",
        new { @class = "form-control" })
</div>

1 个答案:

答案 0 :(得分:0)

I ended up using optgroups, and it worked out nicely.

 <select name="JsonValue" id="JsonValue" class="form-control">
                <optgroup label="Service Items">
                    @foreach (var item in (SelectList)ViewBag.Items)
                    {
                        <option value="@item.Value">@item.Text</option>
                    }
                </optgroup>
                <optgroup label="Split">
                    @foreach (var item in (SelectList)ViewBag.items)
                    {
                        <option value="@item.Value">@item.Text</option>
                    }
                </optgroup>
 </select>