khe*_*eya 5 razor asp.net-mvc-3
我在 MVC 3 razor 视图中有 2 个下拉列表,如下所示:
@Html.DropDownListFor(m => m.UserGroups, Model.UserGroups.Select(x => new SelectListItem() { Text = x.Name, Value = x.Id }), new { @class="pad5" })
Run Code Online (Sandbox Code Playgroud)
他们工作得很好。我有 3 个改变 -
1) 第一个需要在此列表顶部添加一个新选项。
<option value="">--pick--</option>
Run Code Online (Sandbox Code Playgroud)
2)第二个需要在加载时选择一个特定的选项。假设我想在我的第二个列表中预先选择这个选项。
<option value="100">My Friends</option>
Run Code Online (Sandbox Code Playgroud)
3)两个下拉菜单具有相同的数据源。这导致两个列表在表单上具有相同的名称。如何更改名称?
我可以更改 id,但如果我将其添加到末尾,名称似乎不会更改:
new { @id="ViewGroup", @name="ViewGroup"}
Run Code Online (Sandbox Code Playgroud)
如果您创建了视图模型,则只需对每个下拉列表执行以下操作:
@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>
Run Code Online (Sandbox Code Playgroud)