Ik heb een Webproject met een aantal aspx pagina's. Op deze pagina's staan uiteraard controls. Deze Controls kunnen gelocaliseerd worden. Voor de localisatie maken we gebruik van een 'key'-attribute, aan de hand van deze key zoeken we de tekst in de juiste taal op in een DB.
Nou heb ik het volgende probleem: Om de vertaler te helpen om de applicatie in de toekomst te vertalen, wil ik een overzicht genereren van pagina's met de controls en de keys.
Daardoor wil ik door alle pagina's in het Webproject heen lopen. Van de pagina's de Controls opvragen en kijken of deze Controls een 'key'-attribute hebben.
Ik heb op dit moment via Reflection de volgende code:
Nu krijg ik prima de pagina's en de Property, maar ik kan niet bij de Controls in de ControlsCollection. Ik krijg een probleem dat hij het type niet kan converteren.
Iemand een idee wat hier fout gaat of een andere oplossing?
Ik heb me helemaal suf gegoogled, maar kon dit niet vinden.
Nou heb ik het volgende probleem: Om de vertaler te helpen om de applicatie in de toekomst te vertalen, wil ik een overzicht genereren van pagina's met de controls en de keys.
Daardoor wil ik door alle pagina's in het Webproject heen lopen. Van de pagina's de Controls opvragen en kijken of deze Controls een 'key'-attribute hebben.
Ik heb op dit moment via Reflection de volgende code:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| Dim a As Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly() Dim pages As ArrayList = New ArrayList Dim tt As Type Dim page As System.Web.UI.Page For Each tt In a.GetTypes() If tt.IsSubclassOf(GetType(System.Web.UI.Page)) Then Dim cc As System.Web.UI.ControlCollection Dim pi As System.Reflection.PropertyInfo pi = tt.GetProperty("Controls") 'hier gaat het mis cc = CType(pi.GetValue(tt, Nothing), System.Web.UI.ControlCollection) pages.Add(tt.Name) End If Next |
Nu krijg ik prima de pagina's en de Property, maar ik kan niet bij de Controls in de ControlsCollection. Ik krijg een probleem dat hij het type niet kan converteren.
Iemand een idee wat hier fout gaat of een andere oplossing?
Ik heb me helemaal suf gegoogled, maar kon dit niet vinden.
[ Voor 12% gewijzigd door Peetman op 19-08-2004 14:40 ]