我在下面有此代码,并使用相同的代码将其绑定到asp.net mvc中的下拉列表。效果很好...使用ID已有几年时间,每年手动添加将不是一个好主意。我想要的是优化代码或使用for循环或其他方法减少代码,然后将列表传递给视图。
var list = new SelectList(new[]
{
new { ID = "1", Name = "2015" },
new { ID = "2", Name = "2016" },
new { ID = "3", Name = "2017" },
},
"ID", "Name", 2);
ViewBag.YearIn = list;
return View();
这是一个如何实现它的快速示例。假设您总是从2015年开始是不好的。因此const int StartYear
,DateTime.Now.Year
如果您想从当年开始,可以用代替。
您还可以设置将来要使用的总年数。
const int StartYear = 2015;
const int TotalYears = 3;
var years = new System.Collections.Generic.List<object>();
for (int id = 1, year = StartYear; id <= TotalYears; id++, year++)
{
years.Add(new { ID = Convert.ToString(id), Name = Convert.ToString(year) });
}
var list = new SelectList(years, "ID", "Name", 2);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句