我正在尝试为 MultiSelectList 设置选定的值,但页面未显示任何选定的值。我已经尝试了所有可行的方法来做到这一点,但仍然得到相同的结果。我目前正在尝试通过构造函数传递选定对象的列表。让我明白的是,当我检查 MultiSelectList 对象时, selectedvalues 属性包含我使用构造函数传递给它的项目,但它仍然不显示。
我注意到很多人都有同样的问题,但我还没有看到对我有用的答案。我尝试遍历列表并将 selected 属性设置为 true,我尝试从头开始创建多选列表并设置每个单独的项目 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 只是一个具有两个属性的类,代码和描述。第一个列表是所有状态,第二个列表是我选择的状态。