Domanda

Usando .NET 1.1, ho un DataGrid che contiene tre colonne per ogni riga.

La riga uno ha un'etichetta con del testo.

La riga tre avrà sempre due pulsanti di opzione e due caselle di controllo e quelle si trovano sul lato HTML della pagina.

La riga due avrà controlli generati dinamicamente (solo caselle di testo per ora) e ci possono essere 1 o più per riga. Questi verranno utilizzati per l'input dell'utente.

C'è un pulsante sulla pagina e quando l'utente fa clic sul pulsante, devo aggiornare l'origine di DataGrid (la mia DataTable) con i nuovi valori dall'input dell'utente.

Il problema è che DataGrid sembra perdere i controlli generati dinamicamente su PostBack. Posso scorrere ogni elemento nel DataGrid e posso accedere ai pulsanti di opzione e alle caselle di controllo, ma le caselle di testo non sono presenti.

Qualche idea?

È stato utile?

Soluzione

Ricorda: ogni volta che si verifica un postback stai lavorando con una nuova istanza della tua classe di pagine. I controlli dinamici aggiunti alla pagina durante un precedente postback sono passati al garbage collector non appena la pagina per quel postback è stata renderizzata nel browser, insieme al resto dell'istanza di pagina. Devi ricreare i controlli dinamici su ogni postback.

Altri suggerimenti

devi rigenerare i controlli. Dovresti essere in grado di ottenere i loro valori dall'oggetto richiesta http

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top