Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887

    CheckBoxList & AutoPostBack

    <Script Runat="Server">
    sub ciao (s As Object, e As EventArgs )
    Dim Itm As ListItem

    for each Itm in prova.items
    if itm.selected then
    response.Write("ID:" & itm.text)
    end if
    next

    end sub
    </script>

    <html>
    <body>

    <form Runat="Server" id="form1">

    <asp:CheckBoxList
    AutoPostBack="true"
    ID="prova" runat="server" TextAlign="left" Selected="true"
    OnSelectedIndexChanged="ciao">
    <asp:ListItem Text="Uno" Selected="false" />
    <asp:ListItem Text="Due" Selected="false" />
    <asp:ListItem Text="Tre" Selected="true" />
    </asp:CheckBoxList>

    </form>


    Qualcuno può dirmi perchè selezionando esclusivamente il terzo elemento della checkboxlist l'evento di cambiamento non si verifica ?

  2. #2
    probabilmente perchè è già selezionato all'inizio, qundi non c'è nessun cambiamento. Prova ad inizializarli tutti e tre non selezionati.

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    si ma sei d'accordo con me che anche in questo caso dovrebbe funzionare ?

  4. #4
    Utente di HTML.it L'avatar di mcp07
    Registrato dal
    Apr 2004
    Messaggi
    174
    Originariamente inviato da djciko
    si ma sei d'accordo con me che anche in questo caso dovrebbe funzionare ?
    personalmente...no!
    Gran Duca del Fancazzismo, con Pieni Poteri per la Sezione Toscana del Clan, e Comandante Supremo delle Forze Aeree

    Non Esistono Cose Impossibile, ma Solamente la Nostra Limitata Percezione di Ciò che è Possibile!
    Ciao a tutti belle e rutti :maLOL:

  5. #5

  6. #6
    Originariamente inviato da djciko
    Motivo ?
    L'evento OnSelectedIndexChanged si verifica quando l'indice della CheckBoxList cambia, in questo caso non è cambiata, ed è rimasto con il suo valore originale (3 elemento selezionato). Per risolvere hai 2 strade, o non selezioni niente per defoult (tutti i selected a false), oppure nel page_load a forzare l'evento, richiamando esplicitamente la funzione "ciao".

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    si ma l'evento non dovrebbe verificarsi ANCHE in quel caso ? Cioe' se una CBox la seleziono di default all'inizio poi questo implica che non funzionera' su di essa l'evento di cambiamento indice ??

    Non vi sembra un po' un buggone ?

  8. #8
    l'evento funziona, ma solo se effettivamente cambia l'indice. se provi a non selezionare niente nella pagina aspx, ma ad esempio lo selezioni da page_load l'evento si verifica. Se l'evento si verificasse subito in alcuni casi potrebbe creare problemi, immagina la valangata di eventi che si verrebbero a richiamare all'apertura di una pagina, sarebbe infinita se tutti i valori iniziali scatenassero degli eventi e molte cose diventerebbero ingestibili.

  9. #9
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Per capirci ....copia il codice che ho postato e provalo.

    Capirai meglio cosa intendo...!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.