动态年份绑定与下拉

use*_*018 4 asp.net-mvc razor asp.net-mvc-3

我正在使用MVC3/Razor,想要将下拉当前加上前一年的数字绑定数字,如,

2011
2010
2009
2008
Run Code Online (Sandbox Code Playgroud)

这该怎么做?请帮忙

TBo*_*jnr 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>
Run Code Online (Sandbox Code Playgroud)

将以下内容添加到控制器或帮助程序类中的某个位置

 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;
    } 
Run Code Online (Sandbox Code Playgroud)

然后将以下行添加到将调用的任何方法以返回视图(即索引)

GetYears();