【发布时间】:2015-03-11 02:01:22
【问题描述】:
我的代码是这样的
namespace DiagnosisApp.Models
{
public class ProcedurePrice
{
public int ID { get; set; }
public int DepartmentID { get; set; }
public int ProcedureID { get; set; }
public int InsuranceProviderID { get; set; }
public int ProcedureCategoryID { get; set; }
public int ProcedureSubCategoryID { get; set; }
[ForeignKey("ID")]
public virtual Department Department { get; set; }
[ForeignKey("ID")]
public virtual InsuranceProvider InsuranceProvider { get; set; }
[ForeignKey("ID")]
public virtual ProcedureCategory ProcedureCategory { get; set; }
[ForeignKey("ID")]
public virtual ProcedureSubCategory ProcedureSubCategory { get; set; }
}
}
控制器
public ActionResult Create()
{
ViewBag.DepartmentID = new SelectList(db.Departments, "ID", "Name");
ViewBag.ProcedureSubCategoryID = new SelectList(db.ProcedureSubCategories, "ID", "Name");
return View();
}
在我看来
@Html.DropDownList("ProcedureID", null, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.ProcedureID)
在我看来一切正常,但它会引发错误
There is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key 'ProcedureID'.
谁能指出我在这里做错了什么?
【问题讨论】:
-
我想这个字符串
@Html.DropDownList("ProcedureID", null, new { @class = "form-control" })有问题,你应该指定SelectList我想像这样@Html.DropDownList("ProcedureID", Model.ProcedureCategory, new { @class = "form-control" })如果你在某处填充这个列表作为前 - 在你的创建控制器中,就像你对ProcedureSubCategories所做的那样 -
很难理解您真正想要绑定的内容。如果你想绑定到
int ProcedureID,那么你需要为过程包含一个SelectList(最好使用视图模型,否则ViewBag)并将其用作@Html.DropDownList的第二个参数
标签: c# razor asp.net-mvc-5 entity-framework-6