我有一個問題與MVC(新來的,來自MVVM在WPF中)。MVC模型失去約束
我在我的cshtml文件中有一個組合框,讓用戶從列表中選擇一個國家。但是,在我的模型中,當我嘗試從列表中獲取國家時,集合爲空。
<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;
}
}
}
/彼得
這只是視圖,底層邏輯在哪裏? – walther
我看不到列表? – MUG4N