MVC - 来自数据库的DropDownList

时间:2013-08-28 20:14:01

标签: asp.net-mvc linq drop-down-menu

当我想要保存所选国家/地区时出错。

这是我的错误:

法语:

     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”。

0 个答案:

没有答案