У меня есть вид EDIT, строго типизированный для модели, которая имеет 2 поля: Название и категория. Название - это просто строка и категория выбрана из выпадающего списка.MVC4 DropDownListFor - показывает правильный результат
Мой контроллер:
[HttpGet]
public ActionResult EditAuthor(int id)
{
var db = new AuthorDatacontext();
var Author = db.Authors.Find(id);
ViewBag.category = new SelectList(new[] { "ScienceFiction", "fantasy", "LoveStory", "History" });
return View(Author);
}
Мой Вид:
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.category)
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.category, (SelectList)ViewBag.category)
@Html.ValidationMessageFor(model => model.category)
</div>
Сейчас выпадающий список просто показывает все варианты, которые я могу выбрать из, но не тот вариант, который уже выбрали. Как я могу показать сначала категорию, которая уже была показана?
Вы уверены, что все, что находится в собственности 'Model.category' при загрузке страницы, находится в выпадающем списке? – mattytommo
да, потому что это то, что я могу видеть на странице деталей, и я выбираю его из раскрывающегося списка в создании PAge –