У меня есть dropdownlist
, который хранится в TitleEditorTemplate
:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<string>" %>
<%=Html.DropDownList("",
new SelectList(
new[] { "MR", "MRS", "MISS", "MS", "SIR", "REV", "DR"}
)
)%>
View
<%=Html.EditorFor(x => x.Title, "TitleEditorTemplate")%>
ViewModel
[UIHint("TitleEditorTemplate")]
[Required(ErrorMessage = "Please select a title")]
public string Title { get; set; }
Контроллер
//Results of a query of textboxes
Title = data.Title,
Проблема
Моя проблема возникает, когда я пытаюсь отредактировать (извлекать данные из базы данных) информацию, а затем записать UPDATE
в базу данных, все остальное корректно возвращается назад ивставлены в правильные текстовые поля.
Однако dropdownlist
автоматически выбирает первый вариант «MR», а не «MRS».
Я знаю, что это должно быть как-то связано с тем, как он генерируетdropdownlist
но я не знаю, как это исправить.
Код DropDownList
<select id="Title_TitleDropDown" name="Title.TitleDropDown"><option>MR</option>
<option>MRS</option>
<option>MISS</option>
<option>MS</option>
<option>SIR</option>
<option>REV</option>
<option>DR</option>
</select>
Что мне не хватает?Как заставить его выбрать опцию, выбранную из базы данных в качестве выбора по умолчанию?
Например:
Столбцы базы данных
- Заголовок: DR
- Имя: Джон
- Фамилия: Смит
Когда пользователь хочет обновить эту информацию, он может это сделать.На моей странице aspx он будет заполнять оба текстовых поля имени / фамилии, но не выпадающий список, вместо этого он становится значением по умолчанию «MR», поэтому имя становится мистером Джоном Смитом, а не доктором Джоном Смитом.