我正在使用Html.DropDownListFor
来构建选择列表。它是一个简单的数字列表,从1到100.其中一个参数 - selectList As System.Collections.Generic.IEnumerable(Of SelectListItem)
- 是列表的选项,我通常手动构建,如下所示:
@Html.DropDownListFor(Function(x) x.Sorting.IsAscending, _
New SelectList(New Dictionary(Of String, Boolean) From _
{{"Sort Ascending", True}, {"Sort Descending", False}}, "value", "key"))
或者来自枚举,如下:
@Html.DropDownListFor(Function(x) x.Sorting.SortFieldCurrent, _
New SelectList(Model.Sorting.SortFields, "value", "key"))
但是这次我想要一个从1到100的列表。我拒绝手动创建它:)
是否有一些甜蜜的LINQ魔法为我建立一个列表?
答案 0 :(得分:3)
使用Enumerable.Range
生成数字范围:
C#:
IEnumerable<int> range = Enumerable.Range(1, 100);
VB(礼貌http://www.developerfusion.com/tools/convert/csharp-to-vb/):
Dim range As IEnumerable(Of Integer) = Enumerable.Range(1, 100)
http://msdn.microsoft.com/en-us/library/system.linq.enumerable.range.aspx