У меня проблема с MVC (новичок в этом MVVM в WPF).MVC Model loses binding
У меня есть combobox в моем файле cshtml, который позволяет пользователю выбрать страну из списка. Однако в моей модели, когда я пытаюсь извлечь страну из списка, коллекция имеет значение null.
<div class="inputs">
@Html.LabelFor(model => model.SelectedCountry)
<div class="input-box">
@Html.DropDownListFor(model => model.CountryID, Model.AvailableCountries)
</div>
@Html.ValidationMessageFor(model => model.SelectedCountry)
</div>
Как вы можете видеть, я привязываю выбранное значение к CountryID. В моей модели я использую этот CountryID для извлечения имени из списка стран и установки строки SelectedCountry в соответствии с тем, что выбрал пользователь.
Проблема в том, что при попытке получить страну из списка в моей модели список равен нулю.
Список стран в моей модели:
public IList<SelectListItem> AvailableCountries
{
get
{
if (_availableCountries == null)
_availableCountries = new List<SelectListItem>();
return _availableCountries;
}
set
{
_availableCountries = value;
}
}
И население списка стран в мой контроллер.
foreach (var c in _countryService.GetAllCountries())
{
model.AvailableCountries.Add(new SelectListItem() { Text = c.Name, Value = c.Id.ToString() });
}
Кроме того, как вы видите в cshtml, значение обязано CountryIID и код для этого свойства является:
public int CountryID
{
get
{
return _countryID;
}
set
{
if (_countryID != value)
{
_countryID = value;
List<SelectListItem> _list = new List<SelectListItem>(AvailableCountries);
SelectedCountry = _list.Find(x => x.Value == _countryID.ToString()).Text;
}
}
}
/Peter
Это просто взгляд, где лежит логика? – walther
Я не вижу список? – MUG4N