【发布时间】:2016-11-15 10:10:27
【问题描述】:
我似乎无法弄清楚。
我的控制器中有这些代码
Entities db = new Entities();
IQueryable<string> prod = db.Product.Where(p => p.Name != null)
.Select(p => p.Name)
.Distinct();
List<string> prodSelected = new List<string>() { "Pen", "Apple" };
ViewBag.ProductList = new MultiSelectList(prod, prodSelected);
在视图中,我有这条线
@Html.ListBox("productList", ViewBag.ProductList as MultiSelectList, new { style = "width:160px", size = 1 })
假设生成的“prod”有一个字符串列表:-
- “笔”
- “菠萝”
- “苹果”
我运行代码时,为什么ListBox没有选择“Pen”和“Apple”?根据 MSDN 参考,我正在使用 MultiSelectList(IEnum items, IEnum selected)。它不应该工作吗?
或者那里的(选择的IEnum)仍然引用ID,所以我需要创建一个ID而不是字符串的IEnumerable?
List<int> prodSelected = new List<int>() { 1, 3 };
【问题讨论】:
-
重命名 ViewBag.ProductList ,保存所选值的变量和提供值列表的变量应该不同
-
标记答案:-)
标签: c# asp.net-mvc