当我想要保存所选国家/地区时出错。
法语:
L'élément ViewData avec la clé « Country » est de type
« System.String » mais doit être de type « IEnumerable<SelectListItem> ».
英文:
The Viewdata with the key "Country" is « System.String » but must be « IEnumerable<SelectListItem> ».
在我的控制器中:
public ActionResult GetMeth()
{
var countries = _bll.CountryCodes.FindAll();
ViewData["ListItems"] = from c in countries
select new SelectListItem()
{
Text = c.NameFR,
Value = c.Code
};
return View();
}
public ActionResult PostMeth(MyModel model)
{
...
...
Country = model.Country;
...
...
}
在我的ViewModel中:
[Display(Name = "Country")]
public string Country { get; set; }
在我的观点中:
@Html.DropDownListFor(m => m.Country, (IEnumerable<SelectListItem>) ViewData["ListItems"])
你能帮助我吗,我尝试了很多解决办法,但我无法解决它
非常感谢你!
编辑:
当我把
[Display(Name = "Pays")]
public IEnumerable<SelectListItem> Country { get; set; }
我有这个错误:
具有键«Country»的元素ViewData是«System.Collections.Generic.List`1 [[System.Web.WebPages.Html.SelectListItem,System.Web.WebPages,Version = 2.0.0.0,Culture = neutral ,PublicKeyToken = 31bf3856ad364e35]]»但必须是“IEnumerable”。