В списке Model.Countries
есть 2 свойства: Text
и Value
. Поэтому, если вы хотите предварительно выбрать данный элемент в раскрывающемся списке, вы должны использовать значение:
@Html.DropDownListFor(
x => x.SelectedCountry,
new SelectList(Model.Countries, "Value", "Text", "us"),
"Please Select a Country"
)
, что предполагает наличие в Model.Countries предмета с Value="us"
.
В качестве альтернативы вы можете сделать это внутри действия контроллера, возвращающего представление:
public ActionResult Foo()
{
var model = new MyViewModel();
model.Countries = new[]
{
new SelectListItem { Value = "fr", Text = "France" },
new SelectListItem { Value = "uk", Text = "United Kingdom" },
new SelectListItem { Value = "us", Text = "United States" },
};
model.SelectedCountry = "us";
return View(model);
}
и в представлении вы можете просто:
@Html.DropDownListFor(
x => x.SelectedCountry,
Model.Countries,
"Please Select a Country"
)
, который будет предварительно выбирать элемент с Value="us"
(третий в моем примере).