Установка значения по умолчанию для Html.DropDownList()

Когда он отправляет ответ, я получаю следующую ошибку:

Элемент ViewData с ключом «ClosingDateDay» имеет тип «System.Int32», но должен быть типа «IEnumerable». Есть идеи?

Вот мой контроллер:

CompetitionEditViewModel viewModel = new CompetitionEditViewModel
{
    ClosingDate = competition.CloseDate,
    Description = competition.Description,
    DescriptionHeading = competition.DescriptionHeading,
    ImageAssetId = competition.ImageAssetId,
    IsActive = competition.IsActive,
    MainHeading = competition.MainHeading,
    TermsAndConditions = competition.TermsAndConditions,
    UrlSlug = competition.UrlSlug
};

viewModel.ClosingDateMonthOptions = new List<SelectListItem>();
for (int i = 1; i <= 12; i++)
{
    string monthName = new DateTime(2000, i, 1).ToString("MMMM");
    ((List<SelectListItem>)viewModel.ClosingDateMonthOptions).Add(new SelectListItem { Text = monthName, Value = i.ToString() });
}

viewModel.ClosingDateDayOptions = new List<SelectListItem>();
for (int i = 1; i <= 31; i++)
{
    ((List<SelectListItem>)viewModel.ClosingDateDayOptions).Add(new SelectListItem { Text = i.ToString().PadLeft(2, '0'), Value = i.ToString() });
}

viewModel.ClosingDateYearOptions = new List<SelectListItem>();
for (int i = DateTime.Now.Year; i <= DateTime.Now.Year + 3; i++)
{
    ((List<SelectListItem>)viewModel.ClosingDateYearOptions).Add(new SelectListItem { Text = i.ToString(), Value = i.ToString() });
}

А вот мое мнение:

@Html.Uber().LabelFor(x => x.ClosingDateDay, new { @class = "access" })
@Html.DropDownListFor(x => x.ClosingDateDay, Model.ClosingDateDayOptions, Model.ClosingDateDay)

@Html.Uber().LabelFor(x => x.ClosingDateMonth, new { @class = "access" })
@Html.DropDownListFor(x => x.ClosingDateMonth, Model.ClosingDateMonthOptions, Model.ClosingDateMonth)

@Html.Uber().LabelFor(x => x.ClosingDateYear, new { @class = "access" })
@Html.DropDownListFor(x => x.ClosingDateYear, Model.ClosingDateYearOptions, Model.ClosingDateYear)
5
задан ediblecode 21 June 2012 в 20:21
поделиться