2009-06-29 98 views
1
Private Function GetWebDataGridOKButtonId() As String 
     Dim ctls As ControlCollection = _ 
     WebDataGrid1.Controls(0).Controls(0).Controls 

     Dim btn As Button 
     Dim qry = From item As Control In ctls _ 
      Where item.ID = "ButtonOK" _ 
     Select item 

     btn = qry.ToList() 

     Return btn.ClientID 

    End Function 

这不适用于我。我正在尝试迭代控件集合并返回一个控件ID。我对linq很有新意。Linq迭代控件集合

感谢, 〜CK

+0

它会抛出任何错误吗?如果是这样,你可以发布吗? – shahkalpesh 2009-06-29 19:08:20

回答

1

我假设你认为只有一个按钮,“ButtonOK”的按钮ID?如果是这样,然后用

btn = qry.Single() 

和事物取代

btn = qry.ToList() 

将是你如何期望。现在,您将获得一个项目的List<T>,而不是对单个项目的引用。

+0

非常感谢! – Hcabnettek 2009-07-15 14:53:35

4

您不应该使用LINQ,而应该在Button的父项上使用FindControl方法。