Ho una pagina aspx che contiene diversi UserControl e alcuni anche annidati dentro a questi.
Ho modo dalla pagina "contenitore" di modificare (ad esempio) la proprietà enabled di textbox o di dropdownlists contenuti negli usercontrols, conoscendo l'ID del controllo?
L'idea è che, in determinate condizioni, sul prerender del contenitore vorrei disabilitare alcuni campi del form che viene creato...
Ero partito gagliardo con una cosa così nella pagina contenitore:
codice:
Protected Sub page_prerender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
If <varie condizioni> Then
'ciclo su tutti i controlli presenti nella pagina per disabilitare quelli che voglio bloccare
Dim cparent As Control
Dim ctrl As Control
For Each cparent In Page.Controls
For Each ctrl In cparent.Controls
If TypeOf ctrl Is TextBox Then
Select Case ctrl.ID
Case "pippo", "pluto", "..."
ctrl.enabled = True
Case Else
End Select
End If
If TypeOf ctrl Is DropDownList Then
Select Case ctrl.ID
End Select
End If
...
ma mi sono ridimensionato subito perchè vedo che non è così semplice ...
sgoogolando ho trovato che tanto per cominciare dovrei aggiungere ai controlli negli usercontrol una proprietà pubblica che fa il get/set dell'enabled dei singoli controlli e poi usare questa dalla pagina contenitore... però messa così diventa un lavoro abnorme!
C'è una via più breve?