我有一个类型存储过程的列表,其中包含ID和Name作为数据.
我在模型中具有int类型的属性和相同存储过程的列表.
现在我想将这些信息绑定到ListBoxFor
我在模型中具有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肯定有问题,所以你发布你的视图模型要更好一些