我创建了一个名为ManageSalesman的View,它有两个名为AddOrEdit的子视图,它包含一个表单。在这里,我想在数据库中的Vendor表的下拉列表中填充供应商公司列表,因为我在以下代码中将它们放入视图包中。
ViewBag.Vendor = new SelectList(db.Vendors, "Id", "name");
并通过以下代码行在AddOrEdit中创建下拉列表。
@Html.DropDownListFor(model => model.CompanyId, new SelectList(ViewBag.Vendor, "Id", "name"), "Select Vendor Company", new { @class = "form-control" })
但是当我运行它时,它会告诉我:参数null异常“附加信息:值不能为空”。请告诉我我做错了什么。
使用以下代码创建下拉控件。
@Html.DropDownListFor(model => model.CompanyId, (SelectList)ViewBag.Vendor, "Select Vendor Company", new { @class = "form-control" })
请参考this问题有更多细节。
我没有在控制器中列出所选供应商的列表。正确的方法如下。
List<Vendor> VendorList = db.Vendors.ToList();
ViewBag.Vendor = new SelectList(VendorList, "Id", "name");