Выпадающий список выбора на следующие 10 лет

1

Мне нужно написать функцию, которая возвращает следующий 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);
}
Теги:
razor
asp.net-mvc-4

1 ответ

6

Вы должны иметь возможность использовать Enumerable.Range и DateTime.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() 
}));
  • 0
    public static List <SelectListItem> listExpiryYearstry () {var years = Enumerable.Range (DateTime.Now.Year, DateTime.Now.Year + 10); Платежный платеж = новый платеж (); payment.ListToUse = new SelectList (years.Select (y => new SelectListItem () {Text = y.ToString (), Value = y.ToString ()})). ToList (); возврат платежа. ListToUse; }
  • 0
    System.Web.Mvc.HtmlHelper <Components.Models.Payment> не содержит определения для DropDownListFor и наилучшей перегрузки метода расширения. public static List <SelectListItem> listExpiryYearstry () {var years = Enumerable.Range (DateTime.Now.Year, DateTime.Now.Year + 10); Платежный платеж = новый платеж (); payment.ListToUse = new SelectList (years.Select (y => new SelectListItem () {Text = y.ToString (), Value = y.ToString ()})). ToList (); возврат платежа. ListToUse; }
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню