我有一个像这样定义的State类:
Public Class State
Public Property StateId As Integer
Public Property Name As Dictionary(Of Integer, String)
End Class
名称(x)包含不同语言的州名。
我从StateManager.GetAllStates()方法中获取State的集合 我想将此集合绑定到DropDownList。问题是 我找不到如何设置DataTextField属性让我们说stateList.Name(1) 这是我所在州的英文名称。
Dim stateList As StateCollection = StateManager.GetAllStates()
Me.DataSource = stateList
Me.DataValueField = "StateId"
Me.DataTextField = "Name(1).Value" <-- Problem here
Me.DataBind()
有人有想法吗?
由于
答案 0 :(得分:3)
使用数据源时,不能使用复杂表达式来指定值。
创建一个源代码,您可以在其中获取所需的值:
Me.DataSource = stateList.Select( _
Function(s as State) New With { .Id = s.StateId, .Name = s.Name(1) } _
);
Me.DataValueField = "Id"
Me.DataTextField = "Name"
答案 1 :(得分:0)
而不是“Name(1).Value”,你试过了吗?
Me.DataTextField = name(1).ToString