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

asp.net-mvc-3 – 如何在Mvc3中填充ListBoxFor?

发布时间:2020-12-16 04:16:46 所属栏目:asp.Net 来源:网络整理
导读:我有一个类型存储过程的列表,其中包含ID和Name作为数据. 我在模型中具有int类型的属性和相同存储过程的列表. 现在我想将这些信息绑定到ListBoxFor 在视图中我写了这个 @Html.ListBoxFor(x = x.HobbyId,new MultiSelectList(Model.listHobby,"pkHobbyId","Hob
我有一个类型存储过程的列表,其中包含ID和Name作为数据.
我在模型中具有int类型的属性和相同存储过程的列表.
现在我想将这些信息绑定到ListBoxFor

在视图中我写了这个

@Html.ListBoxFor(x => x.HobbyId,new MultiSelectList(Model.listHobby,"pkHobbyId","Hobby"))

但我收到一个错误

The parameter ‘expression’ must evaluate to an IEnumerable when multiple selection is allowed.

请帮助如何绑定.

解决方法

试试看
@Html.ListBoxFor(x => x.HobbyId,Model.listHobby.Select(f => new SelectListItem { Text = f.Hobby,Value = f.pkHobbyId.ToString() }),new { Multiple = "multiple" })

listHobby是我样本上的iEnumerable列表

对不起,如果我误导你,赶紧回答,但你不能把多选列表框的结果变成一个guid或int变量(你的HoobyId是什么类型)你应该有一个数组来抓取结果像

public string[] SelectedHobbyIds { get; set; }

所以你的View Models肯定有问题,所以你发布你的视图模型要更好一些

(编辑:李大同)

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

    推荐文章
      热点阅读