По моему мнению,
<%= Html.DropDownListFor( x => x.Countries[ i ], Model.CountryList )%>
в моем контроллере
public int[ ] Countries { get; set; }
public List<SelectListItem> CountryList { get; set; }
Когда формы отправляются нет никакой проблемы, выпадающее заполняется и значения, пользовательские выборы отправляются. Но когда я пытаюсь загрузить форму уже присвоенными значениями в Страны [], это не становится выбранным.
Поле выбора отправляет одно значение, поэтому свойство Country
не должно быть массивом. Также в вашем сообщении неясно, где находится переменная i
, которую вы используете в своем лямбда-выражении, и эта x.CountryList
, используемый в помощнике, не будет компилироваться, поскольку x
не определен.
Модель:
public class MyModel
{
public int SelectedCountry { get; set; }
public List<SelectListItem> CountryList { get; set; }
}
Просмотр:
<%= Html.DropDownListFor(x => x.SelectedCountry, Model.CountryList) %>
ОБНОВЛЕНИЕ:
Согласно комментарию кажется, что есть несколько раскрывающихся списков. Я подозреваю, что проблема может быть связана с переменной i
, используемой в качестве индекса в цикле for
.
Вместо этого вы можете попробовать следующее:
Модель:
public class MyModel
{
public int[] Countries { get; set; }
public List<SelectListItem> CountryList { get; set; }
}
Вид:
<% foreach (var country in Model.Countries) { %>
<%= Html.DropDownListFor(x => country, Model.CountryList) %>
<% } %>