c#如何在viewbag中添加选择列表项

问题描述

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);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...