Problema su evento CheckedChanged

giovedì 29 ottobre 2009 - 12.27

thebestmaster89 Profilo | Newbie

Ciao a tutti, ho creato una paginetta in asp.net 2.0 con due radio button al quale ho agganciato l'evento CheckedChanged e naturalmente ho settato la proprietà autopostbak a true. Quando si scatena l'evento rendo visibili o non visibili dei pannelli e fin qui tutto semplice. Ho successivamente aggiunto del codice nel page_load che forzava la proprietà checked di un radio button, gli eventi non si scatenano più, vedo solo il pallino che cambia ma non avviene più il postback e quindi non si scatenano più gli eventi. Sapete dirmi come risolvere questo problema?

martinez Profilo | Senior Member

ciao!

provo a spanne a darti una risposta ... perchè i motivi che potrebbero causare il problema sono tanti e senza il codice ... si può dire poco

probabilmente non hai previsto di verificare nel pag_load se la pagina, per l'appunto si trova in postback oppure no ...

provo a spiegarmi con un po di codice:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

se il problema non fosse questo ti invito a postare il codice dell'errore ...

Antonio

thebestmaster89 Profilo | Newbie

Ecco il codice:


Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

gli eventi sono:
protected void optGiur_CheckedChanged(object sender, EventArgs e) { if (optGiur.Checked) { pnlPersFis.Visible = false; pnlPersGiur.Visible = true; } } protected void optFis_CheckedChanged(object sender, EventArgs e) { if (optFis.Checked) { pnlPersFis.Visible = true; pnlPersGiur.Visible = false; } }

martinez Profilo | Senior Member

Ciao!
purtroppo non ci vedo poblemi ...

l'unica potrebbe essere che quando setti un radiobutton a true dovresti mettere l'altro a false ... prova così

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

se non dovesse essere quello ... proprio non saprei perchè non vedo errori ...

Antonio

thebestmaster89 Profilo | Newbie

Era proprio quello sai? Io davo per scontato che se mettevo uno a true l'altro doveva andare a false di conseguenza. Essendo un radio button!! Invece così non era e quindi bisogna impostarli entrambi.
Grazie per l'aiuto.
Ciao

paoval72 Profilo | Senior Member

Ciao, non so com'è la tua pagina html e magari lo sapevi già: per avere sempre e solo un radiobutton selezionato in un gruppo di radiobutton esiste la proprietà GroupName.
Basta inserirla nelle'elemento radiobutton che deve fare parte del gruppo e la gestione dell'univocità è automatica:

Qui un esempio (ho inserito i controlli in un htmltabel solo per una migliroe visualizzazione a video)
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
Poi nel page_load puoi scegliere quale selezionare di default: gli altri radiobutton saranno automaticamente settati a false.
Ciao,
PV

martinez Profilo | Senior Member

Ciao!

sono contento che tu abbia risolto!

Antonio
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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5