我是vb和linq的新手,所以我很抱歉,如果我拥有的是完全错误的......我有一个页面是项目的详细视图。在其中,我想显示所有链接项目的列表。这就是我所拥有的......(我猜这是非常错误的)
Private Sub divLinks_OnLoad(sender As Object, e As EventArgs) Handles lbLinks.DataBinding
Dim Link1 = (From a In ods.groups
Where (a.PID = PID_Number)
Select a).ToList
dvLinks = Link1.Text
End Sub
我甚至不确定我是否应该将代码放在我的div或者lisbox之后。我确信这很简单我现在只是脑死了我猜...
修改
我试过这个,没有错误,但仍然没有返回任何内容
Private Sub dvLinks_Load(sender As Object, e As EventArgs) Handles dvLinks.Load
Call LoadLinks()
End Sub
Public Function LoadLinks()
Dim Link1 = (From a In ods.groups
Where (a.PID = PID_Number)
Select a).ToList
Return Link1.Count
End Function
答案 0 :(得分:0)
您可以循环浏览列表(事实上,您不需要通过“ToList”导出)。
例如:
Private Sub dvLinks_Load(sender As Object, e As EventArgs) Handles dvLinks.Load
Dim Link1 = From a In ods.groups
Where (a.PID = PID_Number)
Select a
For Each group In Link1
dvLinks.InnerText += group
End For
End Sub
我假设将Group转换为字符串(实际上是通过ToString方法)返回“有趣”的东西。如果没有,您可以访问该属性,例如:group.Name
这是为了简单起见,但就性能而言,不建议一遍又一遍地连接字符串(每次在内存中的不同位置重新创建它)。最好由LINQ编写像这样:
Dim Link1 = From a In ods.groups
Where (a.PID = PID_Number)
Select a.ToString()
dvLinks.InnerText = String.Join("<br/>", Link1.ToArray())
(需要一点时间来弄清楚但不是太难)。