Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    disabilitare un linkbutton conoscendone la server id

    Salve,

    ho una arraylist che contiene le id di alcuni linkbutton della mia pagina. Come faccio a disabilitarli? (enabled = false)
    Ho provato questo codice:

    Dim mycontrol as control = Findcontrol(splitout(i))
    ctype(mycontrol, linkbutton).enabled = false

    questo codice é inserito in ciclo for next.
    Il problema é che non funziona: il debugger evidenzia la seconda linea e mi ritorna questo messaggio: "Object reference not set to an instance of an object"... cosa c'é di sbagliato? grazie

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    codice:
    'creo la lista
    Dim Lista As New ArrayList
    
    'popolo la lista con l'ID dei LinkButton
    Lista.Add("LinkButton1")
    Lista.Add("LinkButton2")
    
    'disabilito tutti i linkbutton 
    For Each s As String In Lista
    	DirectCast(Me.FindControl(s), LinkButton).Enabled = False
    Next
    Pietro

  3. #3
    grazie pietro per la risposta. Ho provato il tuo codice ma ho ancora lo stesso errore.
    Scrivo l'intero codice che sto usando, magari ci vedi qualcosa di sbagliato:

    codice:
    sub disablebuttons()
        Dim textdelimiter as String
        textdelimiter = ";"
        Dim splitout = Split(session("btn"), textdelimiter)
        dim i as integer
        'riempi larraylist con le id dei linkbutton
        Dim selectedLetters as new arraylist
        for i = 0 to Ubound(splitout)
            selectedletters.add(splitout(i))
        next
        'disabilita i linkbutton
        For Each s As String In selectedletters
            DirectCast(Me.FindControl(s), LinkButton).Enabled = False
            response.write(s & "
    ")
        Next
    end sub
    l'errore capita nella quartultima linea: "DirectCast..."

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    codice:
            For Each s As String In Lista
                Dim o As Object = Me.FindControl(s)
                If Not (o Is Nothing) Then
                    If TypeOf o Is System.Web.UI.WebControls.LinkButton Then
                        DirectCast(o, LinkButton).Enabled = False
                    End If
                End If
            Next
    Il codice raramente si dà completo di gestione dei casi particolari. Il codice di prima era sicuro perchè ho caricato la lista con valori giusti. Con la gestione delle eccezioni la cosa cambia.
    Nell'esempio esistono solo LinkButton1 e LinkButton2. LinkButton3 non esiste, Button1 esiste ma non è un LinkButton.
    Adesso funziona pure con le eccezioni
    Pietro

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 © 2025 vBulletin Solutions, Inc. All rights reserved.