使用Asp.net中的ViewBag填充下拉列表

问题描述 投票:0回答:2

我创建了一个名为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异常“附加信息:值不能为空”。请告诉我我做错了什么。

c# asp.net asp.net-mvc
2个回答
1
投票

使用以下代码创建下拉控件。

@Html.DropDownListFor(model => model.CompanyId, (SelectList)ViewBag.Vendor, "Select Vendor Company", new { @class = "form-control" })

请参考this问题有更多细节。


0
投票

我没有在控制器中列出所选供应商的列表。正确的方法如下。

List<Vendor> VendorList = db.Vendors.ToList();
ViewBag.Vendor = new SelectList(VendorList, "Id", "name");
© www.soinside.com 2019 - 2024. All rights reserved.