以下是FormViewModel的摘录:
public SummaryFormViewModel(IEnumerable<Site> sites, IEnumerable<Landowner> landowners)
{
var sitesValues = sites
.OrderBy(s => s.SiteDescription)
.Select(s => new KeyValuePair<int, string>(s.SiteId, s.SiteDescription));
this.Sites = new SelectList(sitesValues, "Key", "Value");
我想插入(作为第一项)一个自动成为默认值的值。它的键为0,描述为“全部显示”
基本上我向用户提供组合框以允许他们过滤结果。
我需要一个简洁的方法将这个初始行添加到SelectList
任何人都可以告诉我,谢谢你提前
Ĵ
答案 0 :(得分:2)
您可以使用.ToList()然后使用.Insert()添加新值。
示例:
var sitesValues = sites
.OrderBy(s => s.SiteDescription)
.Select(s => new KeyValuePair<int, string>(s.SiteId, s.SiteDescription))
.ToList();
sitesValues.Insert(0, new KeyValuePair<int, string>(0, "Show All"));
this.Sites = new SelectList(sitesValues, "Key", "Value");
答案 1 :(得分:1)
HTML.Dropdown方法的一个重载接受第一个项目的标签。类似的东西:
Html.Dropdown("MyDropdown", Model.Sites, "Show All")