0

这真让我抓狂!我正在尝试创建一个从数据库中获取其值的下拉列表。我是 MVC 的新手,所以它可能很简单,但我无法弄清楚。请帮忙!

查看型号:

public class LoadInputModel
{
    public GeoRegion GeoRegion { get; set; }
    public System.Guid Id { get; set; }
    public IEnumerable<GeoRegion> Description { get; set; }

}

这是我的控制器:

[HttpPost]
    public ActionResult LoadShape(LoadInputModel LoadInputModel)
    {
        LoadInputModel.Description = db.GeoRegions.Select(a => a);

        return View(LoadInputModel);
}

这是我的htmlhelper:

@Html.DropDownListFor(m => m.Description,Model.Description.Select(c => new SelectListItem { Text = c.Description, Value = c.Id.ToString() }), "-----Select Category----")
4

1 回答 1

0

我猜你的Description 属性值是null,所以你可能需要在为其分配一些值之前对其进行初始化

 if( LoadInputModel.Description==null)
 {
     LoadInputModel.Description=new List<GeoRegion>();
 }
 LoadInputModel.Description = db.GeoRegions.Select(a => a);

或者你可以在课堂上做,所以你不需要在很多地方做

public class LoadInputModel
{
    public GeoRegion GeoRegion { get; set; }
    public System.Guid Id { get; set; }
    public IEnumerable<GeoRegion> Description { get; set; }

    public LoadInputModel()
    {
       if(Description==null)
        {
         Description=new List<GeoRegion>();
        }
    }
}
于 2012-05-31T16:50:24.903 回答