我有一个详细信息视图,其中不同数量的站点显示在文本框中。在每个站点旁边,该国家/地区应显示在禁用的下拉列表中。我的问题是下拉列表没有选择正确的值。相反,它总是选择第一个项目。一些调试显示" SelectedCountries [i]"每个下拉列表都保持正确的值,但不知何故,这个值根本不会影响选择。
下拉列表的名称是" SelectedCountries [i]"而且我已经读过,对于下拉列表和模型中的字段使用相同的名称是不好的。但是,改变它并没有解决问题。
<div id="allSitesAndCountries">
@for (int i = 0; i < Model.SelectedSites.Count; i++)
{
@Html.TextBoxFor(m => m.SelectedSites[i], new { disabled = "disabled", })
@Html.DropDownListFor(m => m.SelectedCountries[i], Model.AllCountriesSelectListItems, new{disabled = "disabled"})
}
</div>
我在这里做错了什么? 提前谢谢。
编辑:我通过在视图中直接创建SelectList并添加第4个参数来实现它:
<div id="allSitesAndCountries">
@for (int i = 0; i < Model.SelectedSites.Count; i++)
{
<div class="editor-label">
@Html.TextBoxFor(m => m.SelectedSites[i], new { disabled = "disabled"})
@Html.DropDownListFor(m => m.SelectedCountries[i], new SelectList(Model.AllCountries, "Id", "Name", Model.SelectedCountries[i]), new{disabled = "disabled"})
</div>
}
</div>