После исследования в течение часа я обнаружил проблему, из-за которой для выбранного не устанавливается значение DropDownListFor
. Причина в том, что вы используете имя ViewBag, совпадающее со свойством модели.
Пример
public class employee_insignia
{
public int id{get;set;}
public string name{get;set;}
public int insignia{get;set;}//This property will store insignia id
}
// If your ViewBag's name same as your property name
ViewBag.Insignia = new SelectList(db.MtInsignia.AsEnumerable(), "id", "description", 1);
View
@Html.DropDownListFor(model => model.insignia, (SelectList)ViewBag.Insignia, "Please select value")
Выбранный параметр не будет установлен в раскрывающемся списке, НО При изменении имени ViewBag на другое имя выбранный параметр будет отображаться правильно.
Пример
ViewBag.InsigniaList = new SelectList(db.MtInsignia.AsEnumerable(), "id", "description", 1);
Просмотр
@Html.DropDownListFor(model => model.insignia, (SelectList)ViewBag.InsigniaList , "Please select value")