Asp.net mvc 获取MVC中的年度列表

Asp.net mvc 获取MVC中的年度列表,asp.net-mvc,asp.net-mvc-4,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 4,Asp.net Mvc 3,我应该如何获得基于当前年份到下一个21年的年份的列表 在控制器方面,我正在尝试获取年份,并在视图方面传递该模型 public IList<SelectListItem> GetYear() { var Year= ""; //Hear I want to bind the year in for loop for next years like Current year to

我应该如何获得基于当前年份到下一个21年的年份的列表

在控制器方面,我正在尝试获取年份,并在视图方面传递该模型

 public IList<SelectListItem> GetYear()
    {            
        var Year= "";                      
        //Hear I want to bind the year in for loop for next years like Current year to next 21 year
        // Some thing like for loop over year
        return Year;
    }

 public ActionResult PaymentInformation(FormCollection fill)
    {
        if (User.Identity.IsAuthenticated)
        {
            int StudentRequestId = 0;
            string CurrentURL = "";
            foreach (var key in fill.AllKeys)
            {
                StudentRequestId = Convert.ToInt32(fill["hdstatusstudentrequestid"]);
                CurrentURL = Convert.ToString(fill["hdCurrenturl"]);                    
            }
            ViewBag.StudentRequestId = StudentRequestId;
            ViewBag.CurrentURL = CurrentURL;
            var Year = GetYear();
            var model = new PaymentInformation { AvailableYear = Year };
            return View(model);
        }
        else
        {
            return RedirectToAction("Index", "Home");
        }
    }

如何从controller绑定年度列表并将其显示在我的上方视图侧?

为循环添加一个
,该循环将21个项目添加到SelectListItem列表中,从当前年度开始每年添加一个项目

public IList<SelectListItem> GetYear()
{
    const int numberOfYears = 21;
    var startYear = DateTime.Now.Year;
    var endYear = startYear + numberOfYears;

    var yearList = new List<SelectListItem>();
    for (var i = startYear; i < endYear ; i++)
    {
        yearList.Add(new SelectListItem() { Value = i.ToString(), Text = i.ToString() });
    }
    return yearList;
}
public IList GetYear()
{
常数int numberOfYears=21;
var startYear=DateTime.Now.Year;
var endYear=起始年份+年份数;
var yearList=新列表();
对于(var i=startYear;i

更新
您可以如下更改GetYear方法的代码

public IList<SelectListItem> GetYear()
{
    var startYear = DateTime.Now.Year;

    var yearList = new List<SelectListItem>();
    for (var i = DateTime.Today.Year; i < DateTime.Today.Year + 21; i++)
    {
        yearList.Add(new SelectListItem { Value = i, Text = i.ToString() });
    }
    return yearList;
}
public IList GetYear()
{
var startYear=DateTime.Now.Year;
var yearList=新列表();
for(var i=DateTime.Today.Year;i
使用
Enumerable.Range()
方法(参考类似示例)
public IList<SelectListItem> GetYear()
{
    const int numberOfYears = 21;
    var startYear = DateTime.Now.Year;
    var endYear = startYear + numberOfYears;

    var yearList = new List<SelectListItem>();
    for (var i = startYear; i < endYear ; i++)
    {
        yearList.Add(new SelectListItem() { Value = i.ToString(), Text = i.ToString() });
    }
    return yearList;
}
public IList<SelectListItem> GetYear()
{
    var startYear = DateTime.Now.Year;

    var yearList = new List<SelectListItem>();
    for (var i = DateTime.Today.Year; i < DateTime.Today.Year + 21; i++)
    {
        yearList.Add(new SelectListItem { Value = i, Text = i.ToString() });
    }
    return yearList;
}