我正在使用LINQ填充“类别”下拉列表。 (Northwind数据库)
var Category = (from cat in _db.Categories.ToList()
select new SelectListItem
{
Text = cat.CategoryName,
Value = cat.CategoryID.ToString()
}).ToList();
我希望在此列表的开头添加一个额外的值作为过滤器重置,类似于“全部”,所以我希望下拉列表如下:
答案 0 :(得分:6)
var Category = new[]{ new SelectListItem(){ Text = "All" } }.Concat(
from cat in _db.Categories.ToList()
select new SelectListItem
{
Text = cat.CategoryName,
Value = cat.CategoryID.ToString()
}).ToList();
答案 1 :(得分:4)
您可以将Concat
与数组常量一起使用,如下所示:
var Category = new [] { new SelectListItem {Text="All"}}
.Concat(from cat in _db.Categories.ToList()
select new SelectListItem {
Text = cat.CategoryName
, Value = cat.CategoryID.ToString()
}
).ToList();
答案 2 :(得分:1)
您可以Insert将值放入所需位置的列表中。这应该可以解决问题。
答案 3 :(得分:1)
List<T>
有一个Insert方法:
Category.Insert(0, new SelectListItem { Text="All" });