我正在使用以下控制器填充年份下拉列表。我想从数据库中检索一个列表,而不是手动列出年份。我创建了一个linq查询并将这些年份返回到列表中,但我无法弄清楚如何将该列表放入正在传递的列表中。
public JsonResult PopulateYears()
{
var list = new object[] { };
list = new object[] {
new { value = 2001, name = "2001" },
new { value = 2002, name = "2002" },
new { value = 2003, name = "2003" }
};
var results = dbBudget.Estimates.Select(o => o.Year).Distinct().ToList();
foreach (var result in results)
{
//How do I create entries for list here?
}
return Json(list);
}
答案 0 :(得分:1)
你可以创建一个像这样的匿名类型
var list = (from x in dbBudget.Estimates.Select(o => o.Year).Distinct()
select new {value=x.Year,name = x.Year});
然后只使用你的行
return Json(list);
结果将是
[{"name":"2011","value":"2011"},{"name":"2012","value":"2012"},{"name":"2010","value":"2010"}]