динамическая привязка года с выпадающим - PullRequest
4 голосов
/ 04 мая 2011

Я использую MVC3 / Razor и хочу связать выпадающий список с текущим плюсом 3 за предыдущий год, например,

2011
2010
2009
2008

Как это сделать?Пожалуйста, помогите

Ответы [ 2 ]

5 голосов
/ 04 мая 2011

Добавьте приведенное ниже для просмотра, чтобы создать раскрывающийся список (измените 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 голос
/ 23 июня 2015

Использование вышеуказанного решения, но с альтернативой для GetYears ()

    private void GetYears()
    {
        ViewBag.Years = Enumerable.Range(DateTime.Now.Year, 4);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...