我正在使用MVC3 / Razor并且希望绑定一个下拉当前加上前一年的数字,例如,
2011
2010
2009
2008
怎么做?请帮忙
答案 0 :(得分:5)
添加以下内容以查看以创建下拉列表(更改Model.Year以更正模型上的属性)
<div class="editor-field">
@Html.DropDownList("Years",new SelectList(ViewBag.Years as System.Collections.IEnumerable,Model.Year))
@Html.ValidationMessageFor(model => model.Year)
</div>
将以下内容添加到控制器或帮助程序类中的某个位置
private void GetYears()
{
List<int> Years = new List<int>();
DateTime startYear = DateTime.Now;
while (startYear.Year <= DateTime.Now.AddYears(3).Year)
{
Years.Add(startYear.Year);
startYear = startYear.AddYears(1);
}
ViewBag.Years = Years;
}
然后将下面的行添加到将调用的任何方法以返回视图(即索引)
GetYears();
答案 1 :(得分:1)
使用上述解决方案,但使用GetYears()的替代方法
private void GetYears()
{
ViewBag.Years = Enumerable.Range(DateTime.Now.Year, 4);
}