如何在MVC Razor View中添加新选项到下拉列表?

时间:2011-06-06 17:52:38

标签: asp.net-mvc-3 razor

我在MVC 3 razor视图中有2个下拉列表,如下所示:

@Html.DropDownListFor(m => m.UserGroups, Model.UserGroups.Select(x => new SelectListItem() { Text = x.Name, Value = x.Id }), new { @class="pad5" })

他们工作正常。我有3个更改 -

1)首先需要在此列表的顶部添加一个新选项。

<option value="">--pick--</option>

2)第二个需要在加载时选择特定选项。 假设我想在我的第二个列表中预先选择此选项。

<option value="100">My Friends</option>

3)两个下拉列表都有相同的数据源。这导致两个列表在表单上具有相同的名称。如何更改名称?

我可以更改ID,但如果我将其添加到最后,名称似乎没有改变:

new { @id="ViewGroup", @name="ViewGroup"}

1 个答案:

答案 0 :(得分:3)

如果您创建了一个视图模型,则只需为每个下拉列表执行操作:

@model Namespace.myViewModel
<select id="dropdownOne" name="dropdownOne">
    <option   value="">--pick--</option>
    @foreach (var item in Model.myModel)
    {
        if(@item.id==100) {
            <option value="@item.id" selected="selected">@item.Name</option>
        }
        else {
            <option value="@item.id>@item.Name</option>
        }
    }
</select>