В моем контроллере есть следующий код (для редактирования и создания):
model.Templates = new SelectList(PageManagementService.PageTemplateFetchList(), "PageId", "Title", 213);
«213» - это идентификатор для одной из страниц, просто использующий его для тестирования.
И это на мой взгляд (для редактирования и создания):
<%= this.Html.DropDownListFor(model => model.Page.TemplateId, this.Model.Templates)%>
<%= this.Model.Templates.SelectedValue %>
Когда я перехожу к форме Создать, я вижу раскрывающийся список, но тег со значением = "213" не выбран . Я даже вывел SelectedValue, чтобы убедиться, что это 213 - и я вижу 213.
Когда я перехожу к форме редактирования, я вижу раскрывающийся список, и выбирается тег со значением = "213" .
В форме Создать ни один из тегов не имеет атрибута selected.
В форме редактирования тег со значением = "213" имеет атрибут "выбранный".
Я что-то упустил? Что может быть причиной этого? Кто-нибудь видел такое поведение раньше?
ОБНОВЛЕНИЕ: Изменение имени выпадающего списка заставляет его работать. Например, вместо
<%= this.Html.DropDownListFor(model => model.Page.TemplateId, this.Model.Templates)%>
Я сделал
<%= this.Html.DropDownList("somedropdown", this.Model.Templates)%>
и это сработало. Хотя не уверен почему ...