C# asp mvc中的下拉列表选择
我使用循环在同一视图中创建多个C# asp mvc中的下拉列表选择,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,我使用循环在同一视图中创建多个DropDownList。循环的结果是创建了两个列表。但是问题是,当用户从一个列表中选择一个项目时,另一个列表将更改其选择,使其与另一个列表中的选择相同。 那么,如何避免这种情况,并将选择过程从一个列表分离到另一个列表? 下面是生成列表的代码 @Html.DropDownList("selectedDays", listItems, new { @class = "form-control", id="Day"+item.id }) 编辑: 列表项代码如下所示 L
DropDownList
。循环的结果是创建了两个列表。但是问题是,当用户从一个列表中选择一个项目时,另一个列表将更改其选择,使其与另一个列表中的选择相同。那么,如何避免这种情况,并将选择过程从一个列表分离到另一个列表?
下面是生成列表的代码
@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"
});
List listItems=new List();
添加(新建SelectListItem)
{
Text=“1天”,
Value=“1”
});
添加(新建SelectListItem)
{
Text=“3天”,
Value=“3”
});
添加(新建SelectListItem)
{
所选=真,
Text=“7天”,
Value=“7”
});
添加(新建SelectListItem)
{
Text=“15天”,
Value=“15”
});
添加(新建SelectListItem)
{
Text=“30天”,
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>
}
@{
foreach(公司列表中的var项目)
{
支付视图
@DropDownList(“selectedDays”,listItems,new{@class=“form control”,id=“Day”+item.id})
改变
}
您不应该在DropDownList之间重复使用列表项
。在一个列表上选择一个值后,将在所有列表上选择元素。为每个DropDownList创建单独的列表。您正在动态生成具有相同id的更多DropDownList。它们应该有不同的ID才能正常工作
@Html.DropDownList("selectedDays" + item.id, listItems, new { @class = "form-control", id="Day"+item.id })
为整个循环提供代码。它太大了,我们需要它吗???@RacilHilanYes,恐怕你需要。首先,太大的循环本身就是坏代码的标志。无论如何,你不需要全部发布,只需发布与列表和循环行相关的行。我们需要找到太多列表链接的原因。你确定每个列表项都是我的吗你的意思是用两个列表创建一个表单?因为你的代码创建两个表单,每个表单有一个列表。如果这是你想要的,那么很好,否则你必须将表单的代码从循环中删除。如果这是整个外观,也不算太糟糕:-)我尝试过了,但不幸的是@borkovskiTake a l无效看这里:也许它会符合你的情况。