下拉选择列表为未来10年

本文关键字:未来 10年 列表 选择 | 更新日期: 2023-09-27 18:04:22

我需要写一个函数,返回下一个10年的选择列表。我在硬编码的时刻,仍在努力如何做到这一点。如何编写一个函数,可以返回我想要的任何时期,例如下一个20年

//View
@Html.DropDownListFor(model => model.CardExpiryYear, vmConstants.listExpiryYears)
//Partial Class
public static partial class vmConstants
{
public static SelectList listExpiryYears = new SelectList(new[]
        {
                new{  Name ="" , ID = ""}, 
                new{  Name ="2014" , ID = "2014"}, 
                new{  Name ="2015" , ID = "2015"}, 
                new{  Name ="2016" , ID = "2016"}, 
                new{  Name ="2017" , ID = "2017"}, 
                new{  Name ="2018" , ID = "2018"}, 
                new{  Name ="2019" , ID = "2019"}, 
                new{  Name ="2020" , ID = "2020"}, 
                new{  Name ="2021" , ID = "2021"}, 
                new{  Name ="2022" , ID = "2022"}, 
                new{  Name ="2023" , ID = "2023"}, 
                new{  Name ="2024" , ID = "2024"}, 
                new{  Name ="2025" , ID = "2025"},
                new{  Name ="2026" , ID = "2026"},
        },
        "ID", "Name", 1);
}

下拉选择列表为未来10年

您应该能够使用Enumerable.RangeDateTime.Now.Year。像这样的东西应该让你开始。

var years = Enumerable.Range(DateTime.Now.Year, 10);
var select = new SelectList(years.Select(y => new SelectListItem() 
{ 
    Text = y.ToString(), Value = y.ToString() 
}));