47 messaggi dal 09 settembre 2008
Buongiorno a tutti.
Ho necessità di creare una liberia di controlli ascx da riutilizzare
in vari progetti web.

Ho cercato su internet (riporto alcune fonti di seguito):
http://webproject.scottgu.com/CSharp/UserControls/UserControls.aspx
http://stackoverflow.com/questions/28051/best-way-to-share-asp-net-ascx-controls-across-different-website-applications
http://www.west-wind.com/Weblog/posts/8191.aspx

Ho creato una web application, cancellando i file web.config e Default.aspx, quindi ho realizzato un controllo di prova.
Successivamente, ho creato una seconda web application con un pagina aspx. Ho aggiunto come reference la DLL generata dal primo progetto.
Nel file web.config, alla sezione <pages> ho aggiunto la riga:
<add namespace="Area.Web" assembly="Area.Web" tagPrefix="AreaWeb"/>

Bene, ora nelle pagine web riesco ad accedere ai controlli, infatti ho aggiunto il tag
<AreaWeb:WucValue ID="bb" Visible="true" runat="server" />

Nessun errore di compilazione, ma il controllo non viene visualizzato, ne a DesignTime ne a Runtime.

Qualcuno ha già avuto modo di implementare una soluzione del genere.

Grazie
non c'è un supporto a DesignTime per tali soluzioni

a mio parere se vuoi riutilizzare i controlli meglio realizzare WebControl, hai un supporto ricco a design time, impostabile con gli attributi.

partendo da CompositeControl non ci vuole nemmeno tantissimo

ciao marco

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

http://nostromo.spaces.live.com/default.aspx
47 messaggi dal 09 settembre 2008
nostromo ha scritto:
>>> non c'è un supporto a DesignTime per tali soluzioni

>>> a mio parere se vuoi riutilizzare i controlli meglio realizzare WebControl, >>> hai un supporto ricco a design time, impostabile con gli attributi.
nel senso di creare una DLL partendo da un progetto di tipo ASP.NET
Server Control? Pero' allora bisogna "trapiantargli" dentro con il
cut-and-paste il controllo Web da un progetto di tipo ASP.NET
Web Application, perche' il Server Control non ammette questo tipo di
componenti. E' corretto?

>>> partendo da CompositeControl non ci vuole nemmeno tantissimo
quindi il nostro componente dovrebbe derivare da
System.Web.UI.WebControls.CompositeControl e non da
System.Web.UI.UserControl?
Abbiamo provato e non funziona.

>> ciao marco

grazie e ciao, Alberto
hai riscritto tutto il controllo? non è sufficente solo cambiare il codebehind è via.

se eriditi da CompositeControl il supporto c'è poi potrebbe dipendere da come lo implementi

fai l'override del metodo CreateChildControl?

ciao marco

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

http://nostromo.spaces.live.com/default.aspx
47 messaggi dal 09 settembre 2008
Non riesco a seguirti!
Da quale componente devo eridatare ?

Il mio controllo ha estensione ASCX.
i WebControl sono classi non hanno la parte grafica dell'UserControl, parte grafica rappresentata dal file ascx.

devi creare una nuova classe ed ereditare da CompositeControl

ciao marco
Modificato da nostromo il 21 gennaio 2009 12.26 -

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

http://nostromo.spaces.live.com/default.aspx
47 messaggi dal 09 settembre 2008
I WebControl sono delle classi?
Quindi, se io dovessi implementare un controllo per la sola gestione degli ordini
ricevuti da un cliente dovrei scrivere il codice HTML a mano e passare il tutto
al metodo override CreateChildControl ?

Ho creato una classe che derivi da CompositeControl e ora?
si sono delle classi, no hai la necessità di creare l'html a mano.

a meno che non sia richiesto.

nel metodo CreateChildControls puoi istanziare oggetti, come la TextBox e aggiungerla alla collezione dei controlli.

il WebControl renderizza ogni controllo si trovi nella sua collezione Controls

ciao marco

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

http://nostromo.spaces.live.com/default.aspx

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.