Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881

    non intercetto il postbaaaack

    Ho seguito le istruzioni dell'msdn e ho creato da codebehind un div (un htmlgenericcontrol) a cui ho assegnato il lancio di un postback sull'evento click... in this way:

    codice:
         
    
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
    end sub
    
    Sub creacontrolli()
        Dim cs As ClientScriptManager = Page.ClientScript
        Dim divcontrol As New HtmlGenericControl("div")
        .......
        divcontrol.Attributes.Add("onclick", cs.GetPostBackEventReference(divcontrol, "codice_div"))
         placeholder.controls.add(divcontrol)
      End Sub
    
    Public Sub RaisePostBackEvent1(ByVal eventArgument As String) Implements IPostBackEventHandler.RaisePostBackEvent
            If Not String.IsNullOrEmpty(eventArgument) Then
                If Right(eventArgument, 4) = "_div" Then
                    'mi lancia un'altra funzione
                End If
            End If
        End Sub
    Ora succede che il div effettivamente lancia il postback e la pagina si aggiorna, ma il problema è che in debug vedo che non entra nella RaisePostBackEvent1....

    cheddevofa?
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  2. #2
    un HtmlGenericControl non può essere usato come "CHI" causa il postback, perché non implemente l'interfaccia IPostBackEventHandler.

    Quindi dovresti fare queste modifiche:
    nelle direttive della pagina:
    codice:
    <%@ Implements Interface="System.Web.UI.IPostBackEventHandler" %>
    nella funzione creacontrolli
    codice:
    divcontrol.Attributes.Add("onclick", cs.GetPostBackEventReferenc(this, "codice_div"))
    inoltre, è necessario modificare anche la dichiarazione della funzione togliendo il carattere finale "1":
    RaisePostBackEvent

  3. #3
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    l'implement interface ce l'ho nella pagina (e siccome è meglio abbondare l'ho inserito anche nel codebehind come "implements Ipostbackeventhandler")

    Se tolgo l'1, come anche a me sembrava corretto fare, il visualwebdeveloper mi segnala che "nasconde un metodo sottoponibile a override nella class base 'Page'. Per eseguire l'override del metodo di base, il metodo deve essere dichiarato 'Overrides'"

    This non me lo lascia usare (aspnetVB e il div lo sto creando dentro a una cella di una riga di una tabella dentro a un placeholder, tutto creato dinamicamente), devo mettere il riferimento a se stesso usando divcontrol

    Poi, a parte il warning, compila correttamente ma non entra lo stesso nella mia funzione...
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  4. #4
    Originariamente inviato da supermac
    l'implement interface ce l'ho nella pagina (e siccome è meglio abbondare l'ho inserito anche nel codebehind come "implements Ipostbackeventhandler")

    Se tolgo l'1, come anche a me sembrava corretto fare, il visualwebdeveloper mi segnala che "nasconde un metodo sottoponibile a override nella class base 'Page'. Per eseguire l'override del metodo di base, il metodo deve essere dichiarato 'Overrides'"
    si, il metodo dovrebbe fare l'override del metodo della classe Page, io non ricordo bene la sintassi di VB, ma è quello che devi fare implementando l'interfaccia.

    This non me lo lascia usare (aspnetVB e il div lo sto creando dentro a una cella di una riga di una tabella dentro a un placeholder, tutto creato dinamicamente), devo mettere il riferimento a se stesso usando divcontrol
    scusa, ho scritto this perché pensavo in C#.
    This si riferisce alla pagina stessa, mitti la parola chiave di VB ("Me" mi sembra)

  5. #5
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    risolto, grazie
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

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.