加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – .NET MVC MultiSelectList和选定的值

发布时间:2020-12-16 04:16:08 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试为MultiSelectList设置选定的值,但页面不显示任何选定的值.我已经尝试过每一种实用的方法来做到这一点并且仍然得到相同的结果.我目前正在尝试通过构造函数传递所选对象的列表.我得到的是,当我检查MultiSelectList对象时,selectedvalues属性包含我
我正在尝试为MultiSelectList设置选定的值,但页面不显示任何选定的值.我已经尝试过每一种实用的方法来做到这一点并且仍然得到相同的结果.我目前正在尝试通过构造函数传递所选对象的列表.我得到的是,当我检查MultiSelectList对象时,selectedvalues属性包含我使用构造函数传递给它的项目,但它仍然不显示.

我注意到很多人都有同样的问题,但我没有看到一个对我有用的答案.我已经尝试遍历列表并将selected属性设置为true,我尝试从头开始创建多选列表并设置每个单独的项目选择属性,我尝试使用构造函数.这些都没有奏效.我还发现了一个建议,即MultiSelectList属性的名称与控件(我尝试过的)相同,但不起作用.为什么使用此框架创建包含所选值的下拉列表如此困难?我错过了什么吗?

<label for="StatesOfPractice">States of Practice:</label>
                    <br />
                    <%= Html.ListBox("StatesOfPractice",Model.StatesOfPracticeList)%>
                    <br />
                    <%= Html.ValidationMessage("StatesOfPractice")%>

编辑1

当我实例化MultiSelectList时,它似乎正在发生.如果我检查视图中的对象并打开结果视图,我可以看到当我知道它应该是“阿拉斯加”时没有被选中.

http://imgur.com/eTIdH.jpg

我正在这样实例化.

new MultiSelectList(List<GenericDataContract>,"Code","Description",List<GenericDataContract>);

GenericDataContract只是一个具有两个属性Code和Description的类.第一个List是所有状态,第二个List是我选择的状态.

解决方法

我相信它从模型中提取所选项目,而不是从项目列表中提取.确保使用要选择的项填充StatesOfPractice模型属性.也就是说,StatesOfPracticeList模型属性提供用于填充列表的项集.模板属性StatesOfPractice在发布表单时将是所选属性值的集合,还应包含呈现视图时的默认选定值.在引擎盖下,它使用HtmlHelper GetModelStateValue方法来查找任何选择列表的选定值.我认为这样做是为了在存在验证错误时保持所选值并且使用模型状态错误重新呈现表单更简单.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读