3 messaggi dal 17 settembre 2008
Salve a tutti, sono nuovo di questo forum e spero di indovinare la sezione.
Programmo da poco in asp.net, vs2005, framework 2.0
Il problema che ho incontrato, ed è l'unico che non riesco a superare, è il seguente.
HO una pagina nella quale inserisco delle textbox in runtime, dipende da cosa trovo in una tabella del mio database.
A questo punto le devo valorizzare, devo cliccare sul pulsante salva e memorizzarle.
Il problema è che queste textbox non sono conformi agli eventi della pagina perchè sono aggiunte in runtime, quindi non le ritrovo nella saveviewstate.
Ora trovo sempre i valori vuoti, le caselle le creo gestendo l'evento loadcomplete.
Mi sto logorando il cervello cercando di capire come posso leggere i valori di queste caselle prima che venga rieseguito tutto il ciclo di vta della pagina.
Spero abbiate una risposta perchè altrimenti devo cambiare la metà della fase di analisi del progetto sul quale stò lavorando.
Grazie a tutti
Mi spieghi meglio il problema?
Te devi creare a runtime delle textbox??e il problema è che???
Ma non puoi usare una detailview?
Potresti usare ajax per intercettare gli eventi che ti interessano oppure creare un tuo webuser control.
Modificato da maltra il 17 settembre 2008 17.46 -

Corso SEO DeepSEO
Libro SEO, SEM e Web Marketing
Siti Web Parma
3 messaggi dal 17 settembre 2008
praticamente non conosco a priori che textbox devo creare.
quindi sino alla fine dell'interrogazione del database non sò nulla.
Ad ajax avevo pensato ma non l'ho mai usato per asp.net.
Alla fine il problema è che non riesco a leggere i valori delle textbox nel saveviewstate, li trovo vuoti
Senza vedere del codice mi risulta difficile aiutarti,
ti faccio una domanda :
perchè ti interessa geberare dinamicamente le textbox? non puoi utilizzare una detail view o un unsercontrol?
Per ajax se vuoi usarla ti posso dare le delle indicazioni.
Ciao

Corso SEO DeepSEO
Libro SEO, SEM e Web Marketing
Siti Web Parma
492 messaggi dal 08 gennaio 2007
Ciao, considerato che lo scenario non è per nulla chiaro, ma partendo dall'ipotesi che nel db i controlli non li puoi persistere  , immagino che dal db tu vada a recuperate tutte quelle informazioni che ti permettono di aggiungerle alla pagina(valori compresi?), a questo punto, perchè una volta che carichi i dati non li sbatti direttamente nel ViewState (qualora non fossero già presenti) per poi ripescarle da lì per inizializzare i tuoi controlli? E' sostanzialmente la prassi standard per valorizzare le Property dei custom control

Facci sapere...
438 messaggi dal 04 agosto 2002
Contributi
biretta ha scritto:
Salve a tutti, sono nuovo di questo forum e spero di indovinare la sezione.
Un salutone a te :)

Programmo da poco in asp.net, vs2005, framework 2.0
Il problema che ho incontrato, ed è l'unico che non riesco a superare, è il seguente.
L'unico? beato te

...Il problema è che queste textbox non sono conformi agli eventi della pagina perchè sono aggiunte in runtime, quindi non le ritrovo nella saveviewstate.
Ora trovo sempre i valori vuoti, le caselle le creo gestendo l'evento loadcomplete. ...

Il problema è molto chiato e quel che ti succede è normale, dipende proprio dal ciclo di vita di una pagina asp.net. Solo che tu sei corso in fondo (LoadComplete) anzichè risalire verso l'inizio (Init).
Ti consiglio di "perdere" un po' di tempo leggendo questi 3 articoli di Scott Mitchell:
Dynamic Controls in ASP.NET
Working with Dynamically Created Controls
Dynamic Web Controls, Postbacks, and View State

I tre fanno parte di una serie sull'argomento e, oltre a spiegarti bene la parte concettuale, propongono una serie di esempi concreti.

ciao,
v
Modificato da vladimiro il 18 settembre 2008 00.47 -
17 messaggi dal 20 giugno 2006
Penso che ti basti generare i controlli nella sezione init e non nel load della pagina. E il gioco è fatto
3 messaggi dal 17 settembre 2008
Grazie a tutti ma ho trovato come fare.
Nella sezione load rigenero i controlli identici ai precedenti richiamando una funzione predefinita, da me creata.
Per quanto riguarda il ciclo di vita delle pagine asp, l'ho appena studiato e vorrei uccidere microsoft, sono molto poco consistenti in quello che fanno.
Ad ogni modo, generare gli stessi controlli nel load della pagina, e non nel load complete, permette al loadviewstate di ritrovarli, essendo questo richiamato dopo il load ma prima del loadcomplete.
Dunque era più facile di quello che pensavo ma nella gestione degli eventi non sono molto coerenti in microsoft.
Ad ogni modo grazie a tutti per l'aiuto, siete molto gentili.
Adesso però voglio chiarire, per chi non è riuscito a capire cosa volevo fare, il mio intento.
Diciamo che io ho delle aree sulle quali definisco delle proprietà.
Adesso ho degli elementi che possono appartenere anche più arre.
Ora però ogni elemento deve valorizzare le proprietà definite sulle aree, creando una sola pagina come ho fatto io, posso valorizzare queste proprietà per ogni singolo elementoin base all'area di appartenenza, senza dover definire da codice, o sul db, ogni area, visto che inoltre sono anche generabili da programma.
SPero di essere stato chiaro e che il mio problema possa essere di aiuto agli altri, CIAO!

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.