Asp.net mvc 在MVC 3中自定义dropdownlist

Asp.net mvc 在MVC 3中自定义dropdownlist,asp.net-mvc,asp.net-mvc-3,c#-4.0,html-select,Asp.net Mvc,Asp.net Mvc 3,C# 4.0,Html Select,我正在开发一个带有下拉控件的MVC应用程序 我在控制器中有一个操作,它返回一个自定义模型,该模型依次包含两个列表。 例如: 编辑 public ActionResult Dropdown() { List<DarwinDimitrov.Models.Years> ListYear = new List<DarwinDimitrov.Models.Years>(); List<DarwinDimitrov.Models.Months> ListM

我正在开发一个带有下拉控件的MVC应用程序

我在控制器中有一个操作,它返回一个自定义模型,该模型依次包含两个列表。 例如:

编辑

public ActionResult Dropdown()
{
    List<DarwinDimitrov.Models.Years> ListYear = new List<DarwinDimitrov.Models.Years>();
    List<DarwinDimitrov.Models.Months> ListMonth = new List<DarwinDimitrov.Models.Months>();
    DarwinDimitrov.Models.Years year = new Years();
    DarwinDimitrov.Models.Months months = new Months();
    year.year = " 2014";
    months.month = "January";
    ListYear.Add(year);
    ListMonth.Add(months);
    var listofMonths = new DropDownData
    {
        month = ListMonth,
        year = ListYear
    };

    return View(listofMonths);
}
所以,现在我的要求是必须填充两个下拉列表,一个是“月”,第二个是“年”

我的问题是,当我尝试使用:

@Html.DropDownList("Dropdown1",
我得到的选择只有

Model.FirstOrDefault().month
Model.First().month


这是绑定列表的最佳实践,还是我从控制器传递列表时遗漏了什么?

该视图的模型本身似乎是
下拉数据
实例的枚举,而不是一个实例。我复制了您的代码,可以说
@model.month.First().month
。您必须确保进入该视图的是实例,而不是其他内容。
@model DarwinDimitrov.Models.DropDownData dropdowndata;
@Html.DropDownList("Dropdown1",