在asp mvc中的DropDown列表选择
我正在使用循环在同一视图中创建多个DropDownList
。作为循环的结果,创建了两个列表。然而,问题是当用户从一个列表中选择一个项目时,另一个列表将改变其选择与另一个列表中的选择相同。
那么,我该如何避免这种情况,并将选择过程从列表中分离出来?
这里是代码生成列表
在asp mvc中的DropDown列表选择
@Html.DropDownList("selectedDays", listItems, new { @class = "form-control", id="Day"+item.id })
编辑:
的列表项的代码是这样
List<SelectListItem> listItems = new List<SelectListItem>();
listItems.Add(new SelectListItem
{
Text = "1 day",
Value = "1"
});
listItems.Add(new SelectListItem
{
Text = "3 days",
Value = "3"
});
listItems.Add(new SelectListItem
{
Selected = true,
Text = "7 days",
Value = "7"
});
listItems.Add(new SelectListItem
{
Text = "15 days",
Value = "15"
});
listItems.Add(new SelectListItem
{
Text = "30 days",
Value = "30"
});
,这是循环
@{
foreach (var item in companyList)
{
<div class="panel-body">
<form class="form-horizontal" role="form" action="/Admin/Telecom" method="post">
<div class="form-group">
<label class="col-sm-2 control-label">Payment View</label>
<div class="col-sm-6">
@Html.DropDownList("selectedDays", listItems, new { @class = "form-control", id="Day"+item.id })
</div>
<div class="col-sm-3">
<button type="submit" name="btnView" value="@item.TelecomCompanyName" class="btn btn-primary btn-rounded w-md waves-effect waves-light m-b-5">change</button>
</div>
</div>
</form>
</div>
}
ÿ在DropDownLists之间不应该重复使用listItems
。在一个列表中选择一个值后,元素将全部为Selected
。为每个DropDownList创建单独的列表。
我试过,但不幸的是它没有工作@borkovski –
看看这里:https://*.com/questions/18880662/mvc-multiple- dropdownlists-from-1-listselectlistitem也许它会匹配你的情况。 – borkovski
您正在动态生成具有相同ID的更多下拉列表。
他们应该有不同的ID行为正确。
@Html.DropDownList("selectedDays" + item.id, listItems, new { @class = "form-control", id="Day"+item.id })
提供整个循环的代码。 –
它太大了,我们需要吗? @RacilHilan –
是的,我怕你这样做。首先一个*太大*循环本身就是错误代码的表示。无论如何,你不需要发布全部内容,只需发布与列表和循环行相关的行即可。我们需要找出为什么太多的链接。 –