MVC中的自定义DropDownList

问题描述

我想使用“自定义范围”在MVC中创建DropDown,因为“开始”为2000,“结束”为“当前Yaer”。

我有这种方法

public static void BindYearDropDown(ref DropDownList dropDown,int startYear,int endYear)
    {
        dropDown.Items.Clear();

        for (int i = startYear; i <= endYear; i++)
        {
            dropDown.Items.Add(new ListItem(ConvertTo.String(i),ConvertTo.String(i)));
        }
    }

如何在Controller和View中添加使用此方法

解决方法

更改模型中的代码

public string years{ get; set; }
public List<SelectListItem> yearList{ get; } = new List<SelectListItem>();
public static void BindYearDropDown(int startYear,int endYear)
{
    for (int i = startYear; i <= endYear; i++)
    {
        yearList.Add(new SelectListItem{Text = ConvertTo.String(i),Value = 
        ConvertTo.String(i)});
    }
}

在这样的控制器中设置

//Pass value as per your requirements in BindYearDropDown()
model.BindYearDropDown(2000,endyear);

您认为

@Html.DropDownListFor(m => m.years,Model.yearList,null,new { @class = "form-control",id = "years" }