我试图设置MultiSelectList的选中值,但页面没有显示任何选中内容。我已经尝试了各种实用的方法,但结果始终不变。目前,我尝试通过构造函数传递选定对象的列表。令我困惑的是,当我检查MultiSelectList对象时,selectedvalues属性包含我使用构造函数传递的项目,但仍未显示在页面上。
我注意到很多人都遇到了同样的问题,但我还没有看到解决我的答案。我尝试迭代列表并将selected属性设置为true,我尝试从头开始创建Multiselectlist并设置每个单独项目的selected属性,我还尝试使用构造函数。但这些都没有起作用。我还发现一个建议是MultiSelectList属性不能与控件名称相同(我尝试了),但也没有起作用。为什么使用此框架创建带有选定值的下拉列表如此困难?我错过了什么吗?
我注意到很多人都遇到了同样的问题,但我还没有看到解决我的答案。我尝试迭代列表并将selected属性设置为true,我尝试从头开始创建Multiselectlist并设置每个单独项目的selected属性,我还尝试使用构造函数。但这些都没有起作用。我还发现一个建议是MultiSelectList属性不能与控件名称相同(我尝试了),但也没有起作用。为什么使用此框架创建带有选定值的下拉列表如此困难?我错过了什么吗?
<label for="StatesOfPractice">States of Practice:</label>
<br />
<%= Html.ListBox("StatesOfPractice", Model.StatesOfPracticeList)%>
<br />
<%= Html.ValidationMessage("StatesOfPractice")%>
编辑 1
我发现问题出现在实例化 MultiSelectList 的时候。如果我在视图中检查该对象并打开结果视图,我会发现“阿拉斯加”没有被选中,但我知道它应该被选中。
我的实例化代码如下:
new MultiSelectList(List<GenericDataContract>, "Code", "Description", List<GenericDataContract>);
通用数据合同(GenericDataContract)是一个只有两个属性Code和Description的类。第一个列表包含所有状态,第二个列表则是我选择的状态。