HTML.DropDownListFor - SelectList的语法糖

时间:2012-01-27 21:55:44

标签: vb.net linq asp.net-mvc-3 razor

我正在使用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魔法为我建立一个列表?

1 个答案:

答案 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