Допустим, моя база данных содержит справочную таблицу, которая отображает значения Zebra
, Goat
и Dog
на клавиши 0
, 1
и 2
и DropDownList, в котором пользователь может выбрать один из них значения.дисплей значение ViewModel с @ Html.DropDownListFor
@Html.DropDownListFor(
m => m.Animal,
new SelectList(
new List<Object>{
new {value = 0, text = "Zebra"},
new {value = 1, text = "Goat"},
new {value = 2, text = "Dog"}
},
"value",
"text"
),
new { @class = "form-control" }
)
После выбора пользователя сохраняется в базе данных, я пытаюсь выяснить способ, чтобы отобразить значение для m => m.Animal
. Он сохраняется как 2
, но я хочу, чтобы отображаемый текст читался Dog
. Как установить выбранное по умолчанию значение на @ Html.DropFownListFor, равное выбору пользователя (например, 2
), поэтому выбранный элемент отображает текст Dog
?
Спасибо за подробное объяснение. '@ Html.DropDownListFor' странно пугает и трудно подходит. Я решил решить эту проблему, установив для выделенногоValue значение '@ Html.ValueFor (m => m.Animal)', но этот ответ действительно помогает мне понять, как правильно подойти к @ Html.DropDownListFor правильно. – alex