问题描述
ViewBag.Company= new SelectList(db.i_Company(null).OrderBy(c => c.CompanyName),"CompanyID","CompanyName");
此 ViewBag 包含 CompanyID 和 CompanyName,但我想为默认选择添加一行。我想添加如下内容:
CompanyID = 0 和 CompanyName = "所有公司"
到我拥有的列表中。
如何手动向此 ViewBag 添加一行?
解决方法
您首先需要单独创建 SelectList
的实例,然后在其中的 0 位置插入一个新项目,然后将其分配给 ViewBag..
考虑进行以下操作。
List<SelectListItem> items = db.i_Company(null).OrderBy(c => c.CompanyName).Select(o => new SelectListItem { Value = o.CompanyID,Text = o.CompanyName}).ToList();
items.Insert(0,(new SelectListItem { Text = "All Companies",Value = "0" }));
ViewBag.Company = new SelectList(items);