在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> 
} 
+0

提供整个循环的代码。 –

+0

它太大了,我们需要吗? @RacilHilan –

+0

是的,我怕你这样做。首先一个*太大*循环本身就是错误代码的表示。无论如何,你不需要发布全部内容,只需发布​​与列表和循环行相关的行即可。我们需要找出为什么太多的链接。 –

ÿ在DropDownLists之间不应该重复使用listItems。在一个列表中选择一个值后,元素将全部为Selected。为每个DropDownList创建单独的列表。

+0

我试过,但不幸的是它没有工作@borkovski –

+0

看看这里: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 })