2009-04-23 6 views
1

Ich versuche, die Sammlung der Seitenkontrolle mit LINQ zu verwenden. Während dies funktioniert:ASP.NET: Alle Kontrolle der Seite als IEnumerable erhalten

dim l = Me.Controls.OfType(Of TextBox).AsQueryable() 

die eine ArgumentExceptionError folgende zurück:

dim l = Me.Controls.AsQueryable() 

ich alle die Kontrollen müssen. Irgendeine Hilfe? Dank

Antwort

1

Haben Sie versucht:

Me.Controls.Cast(Of Control) 

Aus Interesse, warum brauchen Sie es als IQueryable? Ist nicht IEnumerable<T> genug für Sie? (Das ist das Ergebnis von Cast.)

Das Problem beim Aufrufen von AsQueryable ist, dass die Steuerelementauflistung nicht implementiert IEnumerable<T>, nur IEnumerable.

1

Vergessen Sie auch nicht, dass die Kontrollen verschachtelt werden können, und fragen Sie einfach die Seite für seine Kontrollen werden nur Sie über die direkte Kinder sagen, aber es wird nicht über die Kontrollen in diesen Kontrollen sagen: