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
Creazione dinamica dei controlli ?
giovedì 01 luglio 2010 - 12.26
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
skraus
Profilo
| Junior Member
116
messaggi | Data Invio:
gio 1 lug 2010 - 12:26
Salve a tutti.
Ho un problema e non so quale possa essere la strada migliore per andare avanti. Ho realizzato una pagina aspx per fare l'insert di un'anagrafica di un cliente.
Nella pagina ho inserito un FormView e all'interno dell'InsertTemplate, essendo l'anagrafica articolata, ho inserito un MultiView con al suo interno 3 View.
In una TextBox contenuta nella prima View, chi compila, deve indicare il numero di prodotti (a due cifre) che devono essere associati all'anagrafica stessa. Nella seconda View, in cui ho opportunamente recuperato l'entità del numero di articoli, ho esigenza di mostrare all'utente un paritetico numero di Label e TextBox per potergli permettere di inserire i codici dei singoli articoli.
Istintivamente mi è venuto in mente la creazione dinamica dei controlli, ma mi sono reso conto che la strada è particolarmente accidentata.
Nel leggere altri post di questo forum, su problematiche simili, si consiglia l'uso di un repeater. Come faccio a dindarlo con il valore di una variabile ?
Grazie a tutti, ciao
Sk
Gluck74
Profilo
| Guru
1.359
messaggi | Data Invio:
gio 1 lug 2010 - 13:31
non so quanto ne valga la pena.
comunque,
Per passare e/o leggere i dati con il Repeater, ti devi comunque creare o una datatable, o una collection dei dati, ad esempio List<Articolo> dove Articolo è una tua classe.
ad esempio se nella prima pagina del multiview viene scritto 3, fai un for che crea tre volte un obj di tipo "Articolo" e l'aggiunge alla List, poi dai la list come DataSource al repeater.
Poi dipende anche da cosa devi memorizzare nella pagina successiva, se ti serve in effetti SOLO un codice, ancora meglio fai una semplice lista di valori e non ti serve nemmeno la classe
Dovresti riuscire senza problemi.
Ciao
____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.
andrestu
Profilo
| Expert
772
messaggi | Data Invio:
gio 1 lug 2010 - 14:39
scusa ma non puoi usare una listview, e magari utilizzare al suo interno i template customizzati, così gestisci il tutto a modo tuo...
Gluck74
Profilo
| Guru
1.359
messaggi | Data Invio:
ven 2 lug 2010 - 11:24
non c'è molta differenza utilizzando la listview. Per mia opinione credo sia più facile con il repeater
____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.
andrestu
Profilo
| Expert
772
messaggi | Data Invio:
sab 3 lug 2010 - 14:03
guarda io il repeater praticamente non lho mai utilizzato quindi non ti sò dire più di tanto, l'unica cosa è che se non ricordo male, il listview dovrebbe essere il "successore" del repeatere e quindi meglio inglobato con la nuova struttura di Aspnet.
Gluck74
Profilo
| Guru
1.359
messaggi | Data Invio:
lun 5 lug 2010 - 11:26
riguardando bene.......
è verissimo quello che dici andrestu: meglio il ListView
____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.
andrestu
Profilo
| Expert
772
messaggi | Data Invio:
lun 5 lug 2010 - 17:30
si infatti se non sbaglio il listview si integra pinamente con i controlli tipo sqldatasource invece con il repeater è un pò più macchinosa la questione, devi gestire manualmente le operazioni di binding se non ricordo male...
skraus
Profilo
| Junior Member
116
messaggi | Data Invio:
mar 6 lug 2010 - 11:23
L'applicazione è sviluppata con asp.net 2.0, il listView non è stato introdotto con il 3.5 ?
Grazie
Sk
Gluck74
Profilo
| Guru
1.359
messaggi | Data Invio:
mar 6 lug 2010 - 14:14
Si, il ListView è un nuovo controllo introdotto con la versone 3.5.
Quindi dovrai utilizzare o il repeater o il dataList
____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.
skraus
Profilo
| Junior Member
116
messaggi | Data Invio:
gio 8 lug 2010 - 12:01
Ho utilizzato il repeater. Però quando l'utente si muove avanti ed indietro sulle view della pagina, i valori degli altri controlli (TextBox) vengono riletti dal ViewState, mentre le TextBox contenute nel repeater appaiono vuote. Come posso ovviare a ciò ?
Ciao, Grazie.
Sk
Gluck74
Profilo
| Guru
1.359
messaggi | Data Invio:
gio 8 lug 2010 - 14:24
come carichi i dati nel Repeater??? Sul Page_Load o su un evento del MultiView?
Così su due piedi non ricordo bene, ma credo che il multiView abbia gli eventi che ti indicano lo spostamento da una pagina all'altra.
probabilmente il Repeater non ha una memorizzazione dei dati al tuo interno, quindi li devi ricaricare.
Per fare questo ti suggerisco di salvare un array all'interno della Session o del Profile, con i dati inseriti nel repeaer.
____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.
andrestu
Profilo
| Expert
772
messaggi | Data Invio:
gio 8 lug 2010 - 15:57
non vorrei dirti una cavolata ma (se non lo stai già facendo) prova a gestire i dati tramite un dataset, indicare al repeater (tramite la proprietà datasource o qualcosa di simile) che la sorgente dei dati è il dataset che usi (o direttamente il datatable) e fai fare il bind al repeater ad ogni postback, in questo caso specifico o nell'evento del controllo che fa andare la pagina in avanti o in quello del repeater preposto allo spostamento della pagina, ora non ricordo bene... Comunque ti conviene andare a leggere qualcosa sul MSDN
pensa che tutti sti "casini" te li potresti evitare usando un sqldatasource e una listview
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 !