问题是我的选择列表中可能有数据(加上它的格式类似于[Ford IV 200 xyx]),我想要退出(通过仅显示其第3列中的位值为true的记录)我需要弄清楚如何做的事情),最大的问题是,如果用户加上说另一个福特现在将显示在下拉的底部,它会看起来非常混乱,甚至可能被忽视所以任何想法?
P.S。添加jquery到标签,以防这是一个可能的解决方案,因为我能够在这个项目中使用它。
编辑 - 对于第3列位值滤波器,这里是solution
答案 0 :(得分:20)
您可以使用OrderBy
扩展名方法:
<%: Html.DropDownListFor(
x => x.ModelId,
new SelectList(Model.VehicleModels.OrderBy(x => x.Name), "Id", "Name"),
"-- Select a model --"
) %>
答案 1 :(得分:10)
感谢Darin我能够提出他稍微修改过的解决方案,而这导致我在VM中解决这个问题
List<Reason> reasonList = _db.Reasons.OrderBy(m=>m.Description).ToList();
ReasonList = new SelectList(reasonList, "Id", "Description");
答案 2 :(得分:0)
List<string> TestList = new List<string>();
foreach(//SomeCode)
{
TestList.Add(//Item);
}
TestList = TestList.OrderBy(n => n.TestItem).ToList();
答案 3 :(得分:0)
如果您有下拉列表的编辑器模板,则会根据文本对其进行排序。
selectList.OrderBy(x => x.Text)