Когда вы используете метод DropDownListFor()
(или DropDownList()
) для привязки к свойству модели, его значение свойства, которое устанавливает выбранную опцию.
Внутренне методы генерируют свои собственные IEnumerable
и установите свойство Selected
на основе значения свойства, поэтому установка свойства Selected
в вашем коде игнорируется. Единственный раз, когда его уважают, когда вы не привязываетесь к свойству модели, например, используя
@Html.DropDownList("NotAModelProperty", new SelectList(Model.TipoviDepozita, "Id", "Naziv", 2))
Обратите внимание, что вы можете проверить исходный код , в частности SelectInternal()
и GetSelectListWithDefaultValue()
, чтобы увидеть, как это работает подробно.
Чтобы отобразить выбранную опцию при первом визуализации представления, задайте значение свойства в методе GET перед тем, как передать модель в представление
Я также рекомендую, чтобы ваша модель вида содержала свойство IEnumerable
и вы генерировали SelectList
в контроллере
var model = new YourModel()
{
TipoviDepozita = new SelectList(yourCollection, "Id", "Naziv"),
TipPopustaId = 2 // set the selected option
}
return View(model);
, чтобы представление становилось
@Html.DropDownListFor(m => m.TipPopustaId, Model.TipoviDepozita, new { @class = "form-control" })