Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Visibilità di un controllo personalizzato
lunedì 30 luglio 2007 - 09.20
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
bluelions
Profilo
| Senior Member
244
messaggi | Data Invio:
lun 30 lug 2007 - 09:20
Buongiorno
Avrei bisogno di risolvere un problema:
Ho un controllo personalizzato che si trova in una cartella /controlli/nomecontrollo.ascx
Poi ho creato un file .cs che si trova nella cartella App_code e che si trova nel namespace, ora vorrei chiamare il controllo personalizzato che ho creato, dal file cs, ma non riesco a prenderne visibilità.....ci ho provato in tutti i modi possibili, ma nemmeno ombra......posso sapere come fare?
Vi posto in allegato il controllo e la classe creata.
Wamba
Profilo
| Expert
722
messaggi | Data Invio:
lun 30 lug 2007 - 09:23
hai usato la direttiva @Register nella pagina chiamante?
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
bluelions
Profilo
| Senior Member
244
messaggi | Data Invio:
lun 30 lug 2007 - 09:32
cioè @register dove devo metterlo?
io ho tutto nel webconfig, e nelle altre pasgine aspx ad esempio basta che faccio
<ctrl:nomecontrollo> e cosi via
ma nel file cs che non ho pagina aspx, come cavolo faccio?
Wamba
Profilo
| Expert
722
messaggi | Data Invio:
lun 30 lug 2007 - 09:51
Sorry, Lunedì mattina e stò un po' rincitrullito
Vediamo di capire meglio. Il file CS che cosè? Devi implementare una classe separata o è del codice comune a tutte/molte delle pagine? in ogni caso credo che devi utilizzare l'ascx come classe. In altre parole guarda come l'hai definita nel codebehind namespace e nomeclasse e prova referenziala così.
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
bluelions
Profilo
| Senior Member
244
messaggi | Data Invio:
lun 30 lug 2007 - 10:01
questa è il controllo creato da me:
public partial class MailingList : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
Questo è il file cs che da qui devo chiamare il controllo:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using xsdGenericoTableAdapters;
namespace AgroCity.UI
{
public class UI
{
public UI()
{
//
// TODO: aggiungere qui la logica del costruttore
//
}
}
}
Wamba
Profilo
| Expert
722
messaggi | Data Invio:
lun 30 lug 2007 - 10:14
>questa è il controllo creato da me:
>public partial class MailingList : System.Web.UI.UserControl
>{
> protected void Page_Load(object sender, EventArgs e)
> {
>
> }
>}
Supponiamo che il NameSpace sia MyNameSpace.
>
>Questo è il file cs che da qui devo chiamare il controllo:
>using System;
>using System.Data;
>using System.Configuration;
>using System.Web;
>using System.Web.Security;
>using System.Web.UI;
>using System.Web.UI.WebControls;
>using System.Web.UI.WebControls.WebParts;
>using System.Web.UI.HtmlControls;
>using xsdGenericoTableAdapters;
/******************************/
using MyNameSpace;
/******************************/
>
>namespace AgroCity.UI
>{
>
> public class UI
> {
>
> public UI()
> {
MailingList ML = new MailingList;
{.............}
> }
> }
>}
E' un tentativo, ora non ho il tempo di fare una prova
.
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
bluelions
Profilo
| Senior Member
244
messaggi | Data Invio:
lun 30 lug 2007 - 10:29
Ec è quello il problema che lo vorrei istanziare, ma non lo vedo proprio
Wamba
Profilo
| Expert
722
messaggi | Data Invio:
lun 30 lug 2007 - 10:35
nemmeno usando "using MyNameSpace;"?
C'è una cosa che non mi torna.
Perchè vuoi istanziare un controllo grafico in una classe logica?
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
bluelions
Profilo
| Senior Member
244
messaggi | Data Invio:
lun 30 lug 2007 - 10:45
perhè praticamente, vorrei crearmi dei metodi sulla base logica e che a sua volta gli passo il controllo grafico come parametro e mi ritorna la lista.
Wamba
Profilo
| Expert
722
messaggi | Data Invio:
lun 30 lug 2007 - 10:49
poi a quel punto hai il problema di come inserire il controllo nella pagina.
Credo ti convenga crearti una classe in cui inserisci la logica/informazioni e lasciare nel controllo solo la parte di renderizzazione. A quel punto nella pagina carichi la logica la setti come vuoi (anche dal file cs) e poi la passi al controllo.
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
bluelions
Profilo
| Senior Member
244
messaggi | Data Invio:
lun 30 lug 2007 - 10:52
eh, ma io questo voglio fare.....se ci riuscissi....
Wamba
Profilo
| Expert
722
messaggi | Data Invio:
lun 30 lug 2007 - 11:30
Allora la parte "logica" è il file .cs?
Se è così l'errore è nel referenziare nella parte logica la parte grafica, deve essere il contrario. Se vuoi mi spiego meglio.
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
bluelions
Profilo
| Senior Member
244
messaggi | Data Invio:
lun 30 lug 2007 - 13:10
ok, dimmi
Wamba
Profilo
| Expert
722
messaggi | Data Invio:
lun 30 lug 2007 - 13:33
Teoricamente ci sono 3 oggetti: La classe con la logica, che di fatto rappresenta l'entità nel tuo caso MailingList (ML), la classe che si occupa di dare una rappresentazione grafica all'entità, ovverro il controllo utente (UC) ed infine la pagina che la deve renderizzare il controllo (P).
Nella classe ML devo esistere tutti i metodi e le proprietà che rappresentano la tua entità, che sò una collection con gli indirizzi degli iscritti, i metodi per recuperare questi indirizzi dal db e per inviare le mail ecc. (Ovviamente stò ipotizzando la tua classe potrebbe fare tutt'altro).
Il nostro controllo utente dovrà avere una property di tipo Mailing list che dovrà essere passata dall'esterno o creata nel costruttore, dipende dalla logica. Tutte le operazioni di renderizzazione dovranno utilizzare ML per il recupero dei dati. Altri elementi strettamente legati all'oggetto da renderizzare come l'altezza il colore di sfondo ecc, faranno parte di UC.
Infine nella pagina nel lato "HTML" inserisci il controllo UC.
Se c'è bisogno nel Codebehind crei un'istanza di ML, fai gli opportuni settaggi e la passi all'istanza di UC, facendo riferimento all'id che hai scritto nel tag.
Questa potrebbe essere a grandi linee l'ìarchitettura. Se hai bisogno di ulteriori informazioni chiedi pure.
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
bluelions
Profilo
| Senior Member
244
messaggi | Data Invio:
lun 30 lug 2007 - 13:52
scusami secondo me mi sono espresso male, allora io devo avere la necessita di utilizzare il mio controllo ascx (mailinglist) in una nuova classe.
Solitamente si fa nomecontrollo mmm = new nomecontrollo()
ma questa sintatti non va, riesco ad istanziare tutti gli oggetti webcontrols e non il mio controllo. Tutto qua....
Torna su
Stanze Forum
Elenco Threads
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 !