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

    Aggiornamento pagine Asp.Net da browser

    Salve a tutti e da poco più di 3 mesi che sto approfondendo le mie conoscenze su Asp.Net, ora volevo ottenere alcune spiegazioni su una cosa che ho notato durante la navigazione in un sito Asp.Net da me fatto: perchè quando ad esempio associo ad un button l'esecuzione di un comando sql, ad esempio di inserimento, al postback provocato dal pulsante la query viene eseguita(fin qui tutto bene), ma quando premo il pulsante di aggiornamento situato sulla barra di IE o di mozzilla, appare un messaggio e se clicco ok, esegue di nuovo l'ultimo postback, perchè, come si può eliminare questa cosa?

  2. #2
    Semplicemente, non si puo eliminare.

    Il postback non è altro che la memorizzazione sul viewstate della pagina di alcune informazioni, che verranno eseguite quando la pagina verrà ricaricata.

    Eseguire quindi un refresh su una pagina dopo che ha effettuato il postback comporta le riesecuzione del codice memorizzato nel viewstate.

    Per lo stesso motivo se tramite postback modifichi dei dati sulla pagina e li vai a rileggere nel page_load non li vedrai (perchè il page_load avviene prima degli eventi del postback) mentre se andrai a leggerli nel page_prerender li troverai gia modificati.

  3. #3
    il "problema" non è legato ad asp.net, è comune a tutti i linguaggi (asp, php, jsp, ecc).
    Semplicemente quando fai una chiamata (post in questo caso) ad una pagina vengono inviate delle informazioni e poi viene eseguita la pagina. Le informazioni vengono mantenute in cache (non sto parlando della cache di asp.net) e facendo il refresh della pagina vieni avvisato che queste verranno rimandate prima della riesecuzione del codice della pagina stessa.

    Esiste qualche "gabola" per evitarlo, tipo non permettere all'utente connesso di effettuare due inserimenti consecutivi a breve distanza (che sò, con una session, un cookie, scrivendo in un db l'ora dell'ultimo postback, scrivendolo nel view state nel caso di asp.net, ecc).
    xxx

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.