Utilizzo corretto di UserControl su ASP.NET 2.0

venerdì 04 gennaio 2008 - 11.32

ravalon Profilo | Expert

Salve a tutti...

ho provato ad usare su alcune applicazioni web i nuovi usercontrol pensando di poterli usare per includere pezzi di codice validi per tutto il sito, un po come si faceva prima con le direttive INCLUDE

Purtroppo quello che noto è che non è un sistema libero per quanto concerne il posizionamento degli oggetti nella pagina nel caso ad esempio che io voglia generare delle tabelle HTML con all'interno dati derivanti da un ciclo di estrazione con DataReader---

Cioè...mi tocca usare il response.write e successivamente ad ogni riga il codice HTML necessario per fare una cosa del genere...

Cosi facendo però perdo la programmazione ad oggetti, dato che vengono generati da un ciclo di una funzione

Come vanno usati sostanzialmente gli usercontrol allora secondo un vostro consiglio ? quando è il caso e quando no di utilizzarli ?

amelix Profilo | Expert

Non ho sinceramente capito come usi i tuoi userControl...

Gli userControl sono sostanzialmente delle piccole pagine "aspx" "isolate" e auto sufficenti.
Per comunicare con loro puoi esporre delle proprietà.

Andrea - http://www.MelisWeb.eu/

Wamba Profilo | Expert

Non è che hai confuso usercontrol con servercontrol?
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
blogs.dotnethell.it/Wamblog/

ravalon Profilo | Expert

No no intendevo proprio usercontrol

So che sono isolate ed autosufficienti, ma probabilmente non ho capito bene come lavorano giacchè, ad esempio, non riesco a passargli dei valori

Se per esempio volessi un usercontrol che in tutte le pagine mi disegna un box HTML che estrae dei prodotti da DB....sono riuscito a farlo disegnando il box a runtime tramite un RESPONSE.WRITE (codice html) , ma non riesco a usarli disegnando dei server control che poi potrei programmare da codice al load ...

scusate se non riesco a spiegarmi bene...

Wamba Profilo | Expert

Perché non riesci a disegnarlo nella pagina "ascx"?
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
blogs.dotnethell.it/Wamblog/

ravalon Profilo | Expert

Perchè non posso disegnare direttamente una tabella se non so di quante righe dovrà essere dato che questo dato è legato al numero di record derivati dall'estrazione dei dati, allora inizialmente l'avevo fatta a runtime

Sto arginando il problema disegnando una tabella con una riga sola e poi aggiungendole programmaticamente con metodi ad oggetto...

Forse quindi sto capendo come usarlo...

In generale però tu ad esempio quando usi questo tipo di controllo ?

Wamba Profilo | Expert

Credo che dovresti usare un controllo standard come il datagridview, almeno è gestito tutto in modo automatico.
Ti posto un link msdn con esempio:
http://msdn2.microsoft.com/it-it/library/system.windows.forms.datagridview(VS.80).aspx

-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
blogs.dotnethell.it/Wamblog/

ravalon Profilo | Expert

Purtroppo con il datagridview non posso disporre i campi a mio piacimento ma solo con disposizione classica con ogni record in orizzontale...per quello che volevo generare diversamente il contenuto....

ora vedo cosa riesco a fare...

dimmi solo un paio di cose, se vuoi...

Se creo un evento PAGE_LOAD nel controllo, mi fa lo stesso lavoro che in una pagina normale ASPX, cioè posso da li gestire programmaticamente i controlli posizionati nello usercontrol ?

Wamba Profilo | Expert

>Purtroppo con il datagridview non posso disporre i campi a mio
>piacimento ma solo con disposizione classica con ogni record
>in orizzontale...per quello che volevo generare diversamente
>il contenuto....

Ok, abbiamo il controllo repeater


>dimmi solo un paio di cose, se vuoi...
>
>Se creo un evento PAGE_LOAD nel controllo, mi fa lo stesso lavoro
>che in una pagina normale ASPX, cioè posso da li gestire programmaticamente
>i controlli posizionati nello usercontrol ?
Più o meno si.

-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
blogs.dotnethell.it/Wamblog/

ravalon Profilo | Expert

Repeater non l'ho mai usato....vedrò un attimo come funziona...grazie per ora

ravalon Profilo | Expert

Allora....ho capito un po meglio come utilizzare gli usercontrol...

ho messo un controllo REPEATER e disegnato tutto come mi serve, nonchè associato i dati....

Incapsulato il controllo nella pagina ASPX funziona, ma ho un problema...

Nel controllo ho messo una label chiamata LBLNOME

Pensavo, avendo disegnato un controllo server side, di poterne cambiare a mio piacimento il valore del testo dal codice nel CODE FILE ma non funziona ....cioè se scrivo LBLNOME e metto il PUNTO non mi suggerisce niente, segno che non vede il controllo....eppure lo sto scrivendo nel codice dello stesso usercontrol

Cosa devo fare ??

Wamba Profilo | Expert

provaci lo stesso, spesso è un problema di intellisense (il suggeritore).
Scrivilo e prova a lanciare la pagina, se c'è un errore te lo segnala, altrimenti l'intellisense si è fatto una dormita .
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
blogs.ugidotnet.org/WamBlog/

ravalon Profilo | Expert

No no, mi dice che non è dichiarato...e va in errore...

chavez Profilo | Newbie

Dove hai posizionato la Label? Nel controllo ascx oppure all'interno del repeater??

ravalon Profilo | Expert

Gia risolto grazie...la label era dentro un ItemTemplate del Repeater e sempre su questo sito mi hanno fornito la soluzione tramite un'istruzione FINDCONTROL sul numero di iterazione dell'ITEMTEMPLATE....

sono quindi riuscito grazie a voi
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5