我确实彻底搜查了这个,但我想我不是在问正确的问题吗?
因此,在我的ASP.NET MVC项目中,我有一个包含许多表的数据库,以及用于查看激活项的存储过程。
E.g。
EmployesController.cs / Get Create:
List<VehiculeCompagnieActif> ListeVehiculeCompagnieActif = db.VehiculeCompagnieActif.OrderBy(vehicule => vehicule.DescriptionVehicule).ToList();
ViewBag.VehiculeCompagnie = new SelectList(ListeVehiculeCompagnieActif, "IdVehiculeCompagnie", "DescriptionVehicule");
查看/聘用过的员工/ Create.cshtml:
<div class="form-group">
@Html.LabelFor(model => model.VehiculeCompagnie, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownListFor(model => model.VehiculeCompagnie,
(SelectList)ViewBag.VehiculeCompagnie, "", new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.VehiculeCompagnie, "", new { @class = "text-danger" })
</div>
</div>
到目前为止,我有一个带有可选空标签的功能下拉列表。 我需要第二个选项来显示,在第一个空行之后是&#34;是&#34;。 基本上,我需要2(两个)可选标签。
我尝试添加.Insert(0,&#34; YES&#34;)就像我在搜索中看到的那样:
List<VehiculeCompagnieActif> ListeVehiculeCompagnieActif = db.VehiculeCompagnieActif.OrderBy(vehicule => vehicule.DescriptionVehicule).ToList().Insert(0, "Yes");
但是我得到一条消息错误: 参数2:无法转换为&#39; string&#39; to&#39; Blablabla.Models.VehiculeActif&#39;
我玩了一点:。插入(0,0);和(0,null);但是当然VisualStudio没有幽默感。显然,我不能对下拉列表进行硬编码,因为这个列表必须是动态的。
非常感谢您的帮助。
答案 0 :(得分:0)
您可以通过创建VehiculeActif
ListeVehiculeCompagnieActif.Insert(0, new VehiculeCompagnieActif() {DescriptionVehicule = "Yes"});
ListeVehiculeCompagnieActif.Insert(1, new VehiculeCompagnieActif() {DescriptionVehicule = "No" });
因为什么时候创建一个列表,例如
List<VehiculeCompagnieActif> list = new List<VehiculeCompagnieActif>();
列表中的每个项目都是VehiculeCompagnieActif
类型,这就是它提供异常的原因