У меня есть свойство с типом Datetime, и в окне редактирования пользователь выбирает это свойство с помощью Html.DropDownListFor
, проблема в том, что Html.DropDownListFor
не получает свойство Selected
в SelectList
, чтобы выбрать значение. Я знаю, что это потому, что значение свойства имеет другое значение, но я работает, когда я изменить имя атрибута:ASP.NET MVC 5 Html.DropDownListFor с datetime не работает SelectList selected
Values:
CancellationDate = {9/10/2016 12:00:00 AM}
CancellationDateListItem = new List<SelectListItem> {
new SelectListItem
{
Selected = true,
Text = "09/10/2016",
Value = "09/10/2016",
Disabled = false,
Group = null
},
new SelectListItem
{
Selected = true,
Text = "09/11/2016",
Value = "09/11/2016",
Disabled = false,
Group = null
}
};
CancellationDateListSelected = new SelectList(CancellationDateListItem);
CancellationDateListWithStringSelectedValue = new SelectList(CancellationDateListItem, CancellationDate.ToString("MM/dd/yyyy"));
CancellationDateListWithDateTimeSelectedValue = new SelectList(CancellationDateListItem, CancellationDate);
эти примеры doen't работы:
@Html.DropDownListFor(model => model.CancellationDate, CancellationDateListSelected)
@Html.DropDownList("CancellationDate", CancellationDateListSelected)
@Html.DropDownListFor(model => model.CancellationDate, CancellationDateListWithStringSelectedValue)
@Html.DropDownListFor(model => model.CancellationDate, CancellationDateListWithDateTimeSelectedValue)
но, очевидно, эта работа хорошо:
@Html.DropDownList("OtherName", CancellationDateListWithStringSelectedValue)
Я полагаю/знаю, что это по типу DateTime. Могу ли я заставить в DropDownListFor получить свойство Selected
в SelectList
, чтобы выбрать параметр?
Хорошо, но могу ли я заставить в DropDownListДля получения свойства Выбрано в SelectList, чтобы выбрать параметр? –
Нет, поскольку его значение «CancellationDate», которое определяет то, что выбрано (свойство 'Selected'' SelectListItem' игнорируется) - так работает привязка модели. Причина, по которой '@ Html.DropDownList (« OtherName », Model.CancellationDateListItem)' будет работать, заключается в том, что вы не привязываетесь к свойству вашей модели. –