53 messaggi dal 28 ottobre 2005
Salve

volevo sapere se è possibile caricare uno UserControl in modo dinamico.
Ho una pagina aspx che eredita da una BasePage.
Ho provatoa a caricare il controllo nella BasePage così

Control c1 = Page.LoadControl("~/controllo.ascx");
((MyControllo)c1).Proprieta = val;


però non va, non riesce a trovare MyControllo, dove sbaglio?
premetto che nel cotrollo ho aggiunto ClassName="MyControllo"
hai registrato il controllo?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
53 messaggi dal 28 ottobre 2005
come faccio a registrarlo nella classe BasePage?
BasePage non ha codice aspx
Modificato da frafic il 27 novembre 2007 12.18 -
è sufficente usare la direttiva <@Register nella pagina aspx.

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
53 messaggi dal 28 ottobre 2005
ok

nella pag.aspx è inserita la direttiva <%@ Register Src=
pero pag.aspx eredita da BasePage che a sua volta eredita da System.Web.UI.Page

ora mi interessa caricare il controllo nella classe BasePage e non nel
code behind della pagina pag.aspx
come fare?
ho provato a mettere il namespace nel controllo ma a quanto pare
tale namespace non viene visto nel progetto web
frafic wrote:
ho provato a mettere il namespace nel controllo ma a quanto pare tale namespace non viene visto nel progetto web

crei una classe in una tua Class Library, che erediti da
System.Web.UI.UserControl. la chiami ad esempio MyBaseUserControl. gli dai le proprietà che avrà il tuo UC.
fai ereditare, con la proprietà Inherits nella direttiva Page, il tuo UC da questa classe.
in BasePage fai il cast su MyBaseUserControl, così che di fatto avrai accesso al tuo UC con le sue proprietà (o membri, in generale). non è difficile, è molto comodo e potente

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
53 messaggi dal 28 ottobre 2005
ok grazie!

funziona ho dovuto estendere solo lo user controlo con MyBaseUserControl
senza toccare Inherits nella direttiva

public partial class uc_UserControlA : MuBaseUserControl
frafic wrote:
funziona ho dovuto estendere solo lo user controlo con MyBaseUserControl senza toccare Inherits nella direttiva

se usi CodeFile, ovviamente va fatto in quel posto. io parto sempre dal presupposto che tutti usino il Code Inline, ma i concetti sono gli stessi

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.