Rac*_*hit 8 asp.net-mvc-3 html.listboxfor
我有一个类型存储过程列表,其中包含ID和Name作为数据.我在模型中具有int类型的属性和相同存储过程的列表.现在我想将这些信息绑定到ListBoxFor
在视图中我写了这个
@Html.ListBoxFor(x => x.HobbyId, new MultiSelectList(Model.listHobby, "pkHobbyId", "Hobby"))
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误
当允许多个选择时,参数'expression'必须求值为IEnumerable.
请帮助如何绑定.
试试看
@Html.ListBoxFor(x => x.HobbyId, Model.listHobby.Select(f => new SelectListItem { Text = f.Hobby, Value = f.pkHobbyId.ToString() }), new { Multiple = "multiple" })
Run Code Online (Sandbox Code Playgroud)
listHobby是我样本上的iEnumerable列表
抱歉,如果我误导你,赶紧回答,但是你无法将多选列表框的结果变成guid或int变量(你的HoobyId是什么类型)你应该有一个数组来抓取结果像
public string[] SelectedHobbyIds { get; set; }
Run Code Online (Sandbox Code Playgroud)
所以你的视图模型肯定有问题所以你发布你的视图模型要更好
@ Chhatrapati Sharma,
在您的控制器中,试试这个,
ViewData['anyName'] = new SelectList {
Text = , // text from ur function
Value = , // Value from function
Selected = // if required
}
Run Code Online (Sandbox Code Playgroud)
并在视图中,绑定视图数据,如,
<@Html.ListBox("docImages", ((IEnumerable<SelectListItem>)ViewData["anyName"]))
Run Code Online (Sandbox Code Playgroud)
如需测试,请尝试以下样本选择列表项,
ViewData['anyName'] = new List<SelectListItem>{
new SelectListItem {Text = "First", Value = "0"},
new SelectListItem {Text = "Second"), Value = "1"},
new SelectListItem {Text = "Third", Value = "2"}
};
Run Code Online (Sandbox Code Playgroud)
如果此示例有效,请检查您的函数"_supp.listDocImages()"并确保它返回IList
| 归档时间: |
|
| 查看次数: |
20073 次 |
| 最近记录: |