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:ma mi sono ridimensionato subito perchè vedo che non è così semplice ...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 ...
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?

Rispondi quotando