我必须在Dropdownlistfor中填充不同公司名称
@model IEnumerable<Zykod.Data.Models.CUtilityModel>
我尝试了以下方法。没有什么工作。
@Html.DropDownListFor(Model.Select(i => i.CompanyName).Distinct().ToList(), new List<SelectListItem>(), new { @class = "input-large form-control" })
@Html.DropDownList("CompanyName", new SelectList(Model).Distinct())
@Html.DropDownListFor(model => model.CompanyName, new List<SelectListItem>(), new { @class = "input-large form-control" })
答案 0 :(得分:2)
第三次尝试是最接近的一次。
@Html.DropDownList("CompanyName",
new SelectList(Model.Select(i => i.CompanyName).Distinct().ToList()),
new { @class = "input-large form-control" })
为了解释这里使用的DropDownList
的位重载,它的第一个参数指定了将保存发布值的字段,第二个参数指定了可能值的列表,第三个参数指定了第三个参数,正如您已经弄清楚的那样,适用于各种类似html的属性。
请注意,为了接受控制器中的已发布值,您需要确保相应的操作方法接受string CompanyName
参数或具有相同属性的某个对象。