Visualizzazione dei risultati da 1 a 5 su 5

Discussione: caricare user controll

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    388

    caricare user controll

    salve a tutti!
    ho un problema; dovrei caricare un usercontroll(il top del sito) diverso in base ad una variabile che viene caricata nella pagina è possibile?
    altrimenti è possibile passare una variabile all' user controll?
    grazie!!!!!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    111
    Usa il metodo LoadControl della classe Page. A seconda del valore della tua variabile, carichi il controllo che vuoi e lo aggiungi ai controlli della pagina.

    Es:
    Dim Ctl as MyControl=Page.LoadControl("MyControl.ascx")

    N.B.: se il tuo controllo scatena dei postback, va inserito direttamente nella collection Controls del Form con runat=server, quindi dovresti fare un ciclo sui controlli della pagina e una volta individuato l'HTMLForm gli aggiungi il controllo appena caricato.

    Ciao, javalon

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    388
    grazie ti potrei chiederre una spiegazione:
    nell' html ho:
    <%@ Register TagPrefix="Top" TagName="TopForm" src="top.ascx"%>
    ...
    <TOP:TOPFORM id="Topform" runat="server"></TOP:TOPFORM>

    la variabiile è "codice" cosa dovrei fare nella pagina vb?

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    388
    scusate ma mom ho capito come poi faccio a sistemarlo nella pagina!!


  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    111
    Attenzione, in questo modo tu istanzi già un tuo controllo nella pagina, indipendentemente dal valore della variabile.
    Ti faccio un esempio di codice:
    (in questo caso non c'è bisogno del tag Register e della dichiarazione del controllo nella controparte HTML)
    codice:
    Public Class MyPage
    
    ... Codice generato ecc...
    
    Protected MyControl as <TipoControllo>
    
    'ridefinisco la CreateChildControls della pagina
    Protected Overrides Sub CreateChildControls()
       MyBase.CreateChildControls()
       'controllo il valore della variabile
       If Codice ="<valore>" then
          'se la condizione è valida, carico il mio controllo	
          MyControl = DirectCast(LoadControl("MyControl.ascx"), <TipoControllo>)
          .....  '-> operazioni di inizializzazione delle impostazioni del controllo, se ce ne sono....
    
          'se il controllo scatena dei postback, devo aggiungerlo alla collection dei controlli dell'HTMLForm
          For each C as Control in Controls
            if Typeof C is HTMLForm then
    		C.Controls.Add(MyControl)
    	End If
          Next C
       End If
    End Sub

    Ciao, javalon

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.