来自枚举的vb.net dropdownlistfor

时间:2016-03-03 09:06:12

标签: vb.net

您好我需要为枚举做一个下拉列表。

为了恢复我的枚举,在我的viewmodel中我喜欢这样:

@locations.map(&:name)

=> ["Austin, TX", "hooverville", "springfield", "10075, upper east side", "93124, my town"]        

在我看来:

Public Property datatype As New List(Of DataTypeNameEnum)    
Dim values() As Integer = CType([Enum].GetValues(GetType(DataTypeNameEnum)), Integer())
For Each value In values
    datatype.Add(value)
Next

但我有一个错误:

@Html.DropDownListFor(Function(m) m.datattypeAsEnum, New SelectList(Model.datatype, "name", "name"))

如何获取枚举值,并在selectList中恢复它们?

编辑:已解决,我将jquery中的属性添加到我的选项中。

1 个答案:

答案 0 :(得分:0)

如果我添加一个属性" testname"我可以恢复我的列表 在我的构造函数中:

Sub New(adt As AttributeDataType)
    Me.testname = adt.Name
    datatype.Add(testname)
End Sub

我有我的下拉列表,但我的选项只有这样的名字:

<option>Name</option>

价值不在这里......为什么? 我将所有参数都放在我的下拉列表中:

@Html.DropDownListFor(Function(m) m.datattypeAsEnum, New SelectList(Model.datatype,Model.testname, Model.testname))