2016-07-13 2 views
0

Я показываю выпадающий список для стран, который заполняется из вызова базы данных в контроллере. При загрузке страницы я хотел бы, чтобы выбранное значение было по умолчанию равно «Соединенным Штатам». Как мне это сделать?asp.net MVC установить значение по умолчанию для выпадающего списка

код из поля зрения:

<div class="form-group"> 
      @Html.LabelFor(m => m.Country) 
      @Html.DropDownListFor(m => m.Country, new SelectList(Model.CountriesDDL, "CountryCode", "Country"), "--Select--", new { @class = "form-control" }) 
</div> 
+0

Возможная дубликат [DropDownList как выбрать defaul t value] (http://stackoverflow.com/questions/28507948/dropdownlist-how-select-default-value) –

+0

У вас есть несколько способов обойти это. Вы всегда можете создать список в контроллере и выбрать там элемент по умолчанию. Вы можете либо поместить список SelectedListItems в вашу модель, либо в ViewBag. Вы всегда можете использовать JQuery, и при загрузке Window выбирает элемент, основанный на ваших критериях. –

ответ

1

В вашем GET действии, вы можете установить значение Country собственности на COUNTRYCODE Соединенных Штатов (или любой другой страны, которую вы хотите установить по умолчанию) вашего зрения модель

public ActionResult Show() 
{ 
    var vm = new YourViewModel(); 
    vm.CountriesDDL = GetCountriesFromSomeWhere(); 
    vm.Country="United States"; 
    return View(vm); 
} 

Country Предполагая, что имеет тип строки

+0

Предположим, выпадающий список находится на странице отправки формы. Что произойдет, если пользователь выберет «Канаду» из выпадающего списка и отправит форму, но форма недействительна. Будет ли раскрывающийся список по-прежнему показывать «Канада», или он по умолчанию возвращается к «Соединенным Штатам»? – PixelPaul

+0

Когда вы перейдете в Канаду, Страна будет обновлена ​​до Канады в HttpPost, когда она получит данные формы. – Shyju

Смежные вопросы