Asp.net mvc 3 如何在MVC Razor视图的下拉列表中添加新选项?
我在MVC 3 razor视图中有两个下拉列表,如下所示:Asp.net mvc 3 如何在MVC Razor视图的下拉列表中添加新选项?,asp.net-mvc-3,razor,Asp.net Mvc 3,Razor,我在MVC 3 razor视图中有两个下拉列表,如下所示: @Html.DropDownListFor(m => m.UserGroups, Model.UserGroups.Select(x => new SelectListItem() { Text = x.Name, Value = x.Id }), new { @class="pad5" }) 他们工作得很好。我要做三个改变- 1) 第一个需要在列表顶部添加一个新选项 <option value="">--pi
@Html.DropDownListFor(m => m.UserGroups, Model.UserGroups.Select(x => new SelectListItem() { Text = x.Name, Value = x.Id }), new { @class="pad5" })
他们工作得很好。我要做三个改变-
1) 第一个需要在列表顶部添加一个新选项
<option value="">--pick--</option>
如果已创建viewmodel,只需对每个下拉列表执行以下操作:
@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>
@model Namespace.myViewModel
--挑--
@foreach(Model.myModel中的var项)
{
如果(@item.id==100){
@项目名称
}
否则{
我可以在页面加载后通过jquery来实现这一点。但我更喜欢在razor视图声明中实现。可以使用Html.DropDownListFor()来代替手动循环/构建dropwown吗我有声明?老实说,我不知道,我用DropDownListFor尝试过,但问题是,对于我的编程,我有很多条件,所以这是一条很长的线,我个人觉得这种方法更容易。
new { @id="ViewGroup", @name="ViewGroup"}
@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>