问题描述
|
我试图让我了解MVC3的实体框架4.1代码优先方法。
我试图添加一个dropdownlist到创建视图,运气不佳。
我有一个模特看起来像
public class BusinessModel
{
public int Id { get; set; }
[required]
public string BusinessName { get; set; }
[required]
public string PhoneNumber { get; set; }
public int BusinessTypeId { get; set; }
public virtual BusinessTypeModel BuinessTypeModel { get; set; }
}
public class BusinessTypeModel
{
public int Id { get; set; }
public string BusinessType { get; set; }
}
我的下拉列表看起来像
@Html.DropDownListFor(model => model.BusinessTypeId,((IEnumerable<CRM.Models.BusinessTypeModel>)ViewBag.BuinessTypes)
.Select(option => new SelectListItem
{
Text = (option == null ? \"None\" : option.BusinessType),Value = option.Id.ToString(),Selected = (Model != null) && (option.Id == Model.BusinessTypeId)
}),\"Select Business Type...\")
我尚未对控制器执行任何操作,因此其香草
public ActionResult Create()
{
return View();
}
但是我得到一个空错误
值不能为空。
参数名称:来源
现在我假设它为空,因为我没有正确绑定下拉列表,但是我不确定我要去哪里。
有人可以帮我做错什么吗?
解决方法
您在视图中使用\“ ViewBag.BuinessTypes \”,
也许您应该在创建控制器中分配一个ViewBag.BuinessTypes值?
喜欢:
public ActionResult Create()
{
ViewBag.BuinessTypes = ...;
return View();
}