我有一个类型的存储过程的列表,其中有一个ID和一个Name作为数据。
我在模型中具有int类型的属性,并且具有相同的存储过程的列表。
现在我想将此信息绑定(bind)到ListBoxFor

鉴于我已经写了这个

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

但我遇到一个错误



请帮助如何绑定(bind)。

最佳答案

试试看

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

listHobby是我示例中的iEnumerable列表

抱歉,如果我误导您,急于回答,但您无法将multiselect列表框的结果转换为guid或int变量(无论您的HoobyId是什么类型),您都应该有一个数组来像这样抓取结果
public string[] SelectedHobbyIds { get; set; }

因此您的 View 模型一定有问题,因此最好将您的 View 模型发布以进行检查

关于asp.net-mvc-3 - 如何在Mvc3中填充ListBoxFor?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10028882/

10-10 16:35