Domanda

Voglio utilizzare controlli utente "complessi" con più di un elemento di controllo all'interno.È lo stesso controllo che riutilizzerò nell'elenco e dispongo già di un controllo PlaceHolder.

Posso aggiungere il controllo con LoadControl(percorso di .ascx) - Nessun problema.

Attraverso le mie proprietà personalizzate posso ottenere/impostare l'accesso anche alle etichette incorporate, in modo da poter inizializzare perfettamente ciascun controllo.

Ma quando aggiungo LinkButtons, mi trovo nei guai/problemi.

Quando faccio clic sul pulsante, ottengo un "invio" della pagina che esegue il rendering dei controlli;ma l'evento del pulsante del controllo non sembra attivarsi (o almeno PageLoad sulla pagina principale sembra attivarsi per primo?) - Non riesco a capire dove va il mio evento o dove cercare un nome/ID o un parametro per questo pulsante.

Come mai o cosa sto facendo di sbagliato qui?

Ora ho creato un "pulsante falso" utilizzando un'etichetta in più con un "A HREF hardcoded" con un ID nell'URL, ma vorrei sapere quale evento devo catturare e dove o come avviare il pulsante, perché voglio essere in grado di utilizzare i controlli "ASP.NET predefiniti" per questi controlli utente (si spera senza troppa codifica patchwork)...

È stato utile?

Soluzione

L'unico motivo per cui gli eventi vengono "persi" è perché i controlli non vengono ricreati in modo tale che ASP.Net possa associare l'evento al controllo dopo il postback.Lo fa attraverso l'uso della proprietà ID.

In altre parole, stai sbagliando una delle tre cose:

1) Stai assegnando gli ID dei tuoi pulsanti di collegamento in modo diverso durante la fase di creazione in Init dopo il postback

2) Stai creando i tuoi pulsanti di collegamento in modo dinamico utilizzando il codice, ma lo stai facendo dopo la fase Init del ciclo di vita della pagina, in modo che i tuoi controlli non partecipino a ViewState.

3) Stai riassociando l'origine dati del controllo genitore contenente i pulsanti di collegamento su ogni postback.Utilizzo if (!IsPostBack) per evitare di ricollegarlo ogni volta.

Sfortunatamente, senza vedere il tuo codice, non posso fornire nulla di più specifico.

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