Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Problemi col Page.IsPostBack

    Salve, programmo in asp.net / vb.net.

    All'interno di una pagina è presente un

    <asp:Button ID="btAggCarrello" runat="server" CssClass="Prodotti_List_Agg_Cmd" Text="Aggiungi al Carrello" Width="200px" style="float:none;"/>
    Quando clicco, ricarica la pagina come se fosse al primo caricamento, ripassando dal load e ignorando il
    If Not Page.IsPostBack Then
    Sono costretto a cliccare una seconda volta, per eseguire il codice del button.

    Non mi è mai capitato.
    Consigli?

  2. #2
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,550
    quando dici "ricarico la pagina!" intendi F5 oppure refresh del browser vero?

    beh questo resetta completamente portando al punto originale
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  3. #3
    Sembra un F5, come se si ricaricasse la pagina. Dal secondo click in poi, invece, fila liscio

  4. #4
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,550
    Quote Originariamente inviata da Dario the best Visualizza il messaggio
    Sembra un F5, come se si ricaricasse la pagina. Dal secondo click in poi, invece, fila liscio
    hai una masterpage che fa qualcosa? non vorrei che ci fosse un redirect da qualche parte
    altrimenti fai come faccio spesso io: Creo un progetto vuoto ed aggiunto un pezzo alla volta fino a quando non riproduco il problema, cosi lo trovi, invece di impazzire
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  5. #5
    Ok, proverò a fare così. Anche io sospetto possa essere qualcosa presente nella masterpage. Non mi sono mai trovato in questa situazione, mi sta facendo impazzire.
    Grazie per il consiglio, lo applico subito e speriamo bene

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Quote Originariamente inviata da Dario the best Visualizza il messaggio
    Quando clicco, ricarica la pagina come se fosse al primo caricamento, ripassando dal load [...]
    Cosa fai nello specifico all'interno del Page_Load?
    Magari esegui operazioni che interferiscono con il processo di gestione dell'evento al primo giro.

    Posta un po' di codice significativo.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    Non ho capito perchè vuoi gestire il click con il Page_Load

    Al passaggio per il Page_Load probabilmente c'e' qualcosa lato client che causa un postback a vuoto (cioè non un postback). Capita spesso con i componenti aggiuntivi, che alterano il ciclo di vita della pagina.

    Inoltre, è il punto più sbagliato perchè non eseguirà solo il codice che deve eseguire il bottone, ma tutto ciò che accade al verificarsi del postback.

    codice:
    <asp:Button ID="btAggCarrello" runat="server" 
    CssClass="Prodotti_List_Agg_Cmd" Text="Aggiungi al Carrello" Width="200px" style="float:none;"
    OnClick="btAggCarrello_Click" />


    c#
    codice:
    public void btAggCarrello_Click(object sender, EventArgs e)
    {
      // tuo codice
    }


    vb.net
    codice:
    Protected Sub btAggCarrello_Click(sender As Object, e As EventArgs)
      ' tuo codice
    End Sub
    Ultima modifica di djciko; 10-05-2022 a 01:17

  8. #8
    C'è un semplice caricamento lato DB della pagina. Il problema è che quando clicco sul cmd, la prima riga di codice del Load, ovvero

    "If Not Page.IsPostBack Then"

    risulta false anziché true, di conseguenza ripete il codice del Load e non esegue quello presente nell'evento click del button

  9. #9
    Sono d'accordo con la seguente affermazione :

    "c'e' qualcosa lato client che causa un postback a vuoto"

    il problema è capire quale. Sta diventando frustrante quella che sarebbe dovuta essere una semplice gestione di un evento click.

    Comunque, non voglio gestire il click con il page_load, semplicemente quando clicco sul button, sembra ricaricare la pagina, quindi sono costretto a cliccare di nuovo per eseguire il codice. Il cliente giustamente mi segnala che per acquistare l'articolo, deve cliccare due volte.

  10. #10
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not Page.IsPostBack Then
    lbIdArticolo.Text = ""
    ..............
    End If
    End Sub

    Protected Sub btAggCarrello_Click(sender As Object, e As EventArgs) Handles btAggCarrello.Click
    If IsNothing(Session.Item("UtenteID")) Then
    lbErrore.Visible = True
    lbErrore.Text = "Per acquistare devi effettuare il Login"
    Exit Sub
    End If
    End Sub

    Ecco uno schema delle due procedure.

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