Richiamare un controllo personalizzato

mercoledì 18 luglio 2007 - 10.30

bluelions Profilo | Senior Member

Salve
avrei bisogno di un vostro supporto in asp.net C#.
Ho creato un controllo personalizzato che si chiama ListaMenu e l'ho messo in una cartella chiamata controlli, ora ho creato una classe che si trova sotto app_code.
Il controllo ha delle proprietà e dei metodi, in pratica da questa classe sotto app_code mi sono creato un metodo dove vorrei chiamare questo nuovo controllo, però non riesco a capire come instanziarlo per poter vedere le proprietà da settare. Quelli predefiniti, basta fare system.web.webcontrols, ma per quelli personalizzati come faccio?

RobNet Profilo | Newbie

Ciao bluelions.
Per utilizzare il controllo utente da te creato devi innanzitutto registrarlo.
Per fare ciò esistono due metodi: il primo è utilizzare la direttiva <%@Register%> della pagina in cui vuoi utilizzarlo oppure a livello di WebConfig (soluzione che personalmente preferisco).

Primo metodo:

Aggiungi alle direttive di pagina quanto segue:
<%@Register TagPrefix="MioControllo" TagName="MioControlloNome" src="~/[path_directory_controlli]/[mio_controllo].ascx" %>

Ora potrai utilizzare il tuo controllo scrivendo ll'interno del markup della pagina in questo modo:

<MioControllo:MioControlloNome runat="server" id="id_controllo" Proprieta_1="value" Proprieta_2= "value" />

Potrai accedere alle proprietà ed ai metodi del controllo anche dal Codebeside della pagina come faresti con qualsiasi altro controllo.
Metodo pratico questo ma che ti costringe a ripetere la direttiva in ogni pagina in cui intendi utilizzare il controllo.

Il secondo metodo è sicuramente più elegante ed efficace per quanto riguarda eleganza e praticità di manutenzione:

All'interno del web.config, precisamente nella sezione <pages></pages> scrivi quanto segue:

<controls>
<add tagPrefix="PrefissoMioControllo" tagName="NomeTagMioControllo" ssrc="~/[path_directory_controlli]/[mio_controllo].ascx"/>
</controls>

All'avvio dell'applicazione il controllo verrà registrato e potrai istanziarlo in ogni pagina tu voglia senza la necessità di registrarlo come nel primo metodo.

Spero di essere stato chiaro.. :) Fammi sapere se qualcosa non ti torna!

Ciao!

bluelions Profilo | Senior Member

Salve
il controllo lo registro nel webconfig, e nelle pagine aspx, riesco a istanziarlo e utilizzarlo, mentre in una nuova classe .cs non riesco a vederlo........
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5