这让我抓狂!我正在尝试创建一个下拉列表,从数据库中获取它的值。我是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----")
答案 0 :(得分: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>();
}
}
}