页面未显示for循环中下拉列表中以前选择的值-ASP.NET MVC
本文关键字:选择 -ASP MVC NET 下拉列表 显示 for 循环 | 更新日期: 2023-09-27 18:22:10
我正试图用DropDownList
制作一个动态表单来选择值
在视图中,我有这个:
@for (int i = 0; i < Model.SelectedIntensities.Count(); i++)
{
<tr>
<td>
@(i + 1)
</td>
<td>
@Html.DropDownListFor(m => m.SelectedIntensities, new SelectList(Model.Filter.Intensities, Model.SelectedIntensities.ElementAt(i)))
</td>
</tr>
}
当我在控制器中使用SelectedIntensities
参数检索数据时,这项工作做得很好。
之后,我在ViewModel 中重新设置值
vm.SelectedIntensities = selectedIntensities.ToList();
但在我看来,如果我有多个dropdownlist,他们会将第一个的值作为SelectedValue
。
因此,如果我从两个下拉列表中选择两个不同的强度:例如,20和25。当我提交表单并且页面重新加载值时,两个下拉列表都将显示20作为所选值。。。
我做错了什么?
正如Stephen在评论中所说,解决方案是指定SelectedIntensities
的索引
我替换了这个:
@Html.DropDownListFor(m => m.SelectedIntensities, new SelectList(Model.Filter.Intensities, Model.SelectedIntensities.ElementAt(i)))
有了这个:
@Html.DropDownListFor(m => m.SelectedIntensities[i], new SelectList(Model.Filter.Intensities))
它现在运行得很好。