我有一个模型,其中有一个变量
public IEnumerable<string> MonthDropDown { get; set; }
在控制器中,我将其填写为:
var months = "Jan,Feb,March,April,May,June,July,Aug,Sept,Oct,Nov,Dec";
ImportFiles inputfile = new AetnaCoventryMigration.Model.ImportFiles();
inputfile.MonthDropDown = months.Split(',');
在视图中,我将myModel列表作为模型传递,如何为此月份列表创建一个下拉框?问题是我无法使用m => m.MonthDropDown
,因为我的模型在视图中是我的模型类的列表。
请帮忙!
我也在后面的视图中使用模型列表,因此无法仅将模型传递给视图,我将Ilist<model>
传递给视图。
答案 0 :(得分:2)
这里有两件事:
首先要在视图中编辑模型列表,您可以使用Steven Sanderson的MVC2方式:Editing a variable length list, ASP.NET MVC 2-style
第二次以实现下拉菜单:您可以执行以下操作:
@Html.DropDownListFor(m => m.Month,
((List<string>)ViewBag.MonthDropDown).Select(option => new SelectListItem
{
Text = Html.DisplayTextFor(_ => option).ToString(),
Value = option,
Selected = (Model != null) && (option == Model.Month)
}))
在控制器中,在ViewBag中填充Month值:
var months = "Jan,Feb,March,April,May,June,July,Aug,Sept,Oct,Nov,Dec";
ViewBag.MonthDropDown = months.Split(',');