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

    Refresh pagina "ASP.NET"

    Salve a tutti,
    vi spiego il problema:

    -Ho realizzato una pagina in ASP.NET (VB) in cui è presente un datagrid che si riempie in base a delle righe presenti in un DataTable.

    -Questo DataTable è tenuto in sessione e posso riempirlo con nuove righe o cancellarne delle altre attraverso delle Sub costruite per questo intento.

    Fin qui funziona.

    Quando vado a fare il refresh della pagina (non perchè ce ne sia un motivo per solo per testing), però, se ho appena inserito un record nella DataTable ne inserisce un'altro; Se ho appena eliminato un record ne elimina un'altro nella stessa posizione di quello di prima.

    Qualcuno mi può aiutare?
    Come faccio ad evitare che facendo il refresh venga rieseguita l'ultima operazione?

    Grazie
    Roberto
    Robert

  2. #2
    non puoi, il refresh comunque ti riesegue l'ultima operazione che hai effettuato (perchè è quello che passi da querystring). C'è il modo di intercettare se la pagina che ti arriva e l'ultima inviata o meno ( e quindi mandare un messaggio all'utente di non utilizzare il refresh)
    Adesso non l'ho sotto mano, domani ti faccio sapere


  3. #3
    questo è il codice:
    codice:
    long i1 = (long)Session["LastRequestTime"];
    long i2 = (long)ViewState["LastRequestTime"];
    if (i1!=i2)
        Response.Redirect("Errore.aspx");
    long now = DateTime.Now.Ticks;
    ViewState["LastRequestTime"] = now;
    Session["LastRequestTime"] = now;
    in pratica la response redirect ti manda in un'altra pagina quando la chiamata e stata fatta usando il back o il refresh(chiamata di una pagina vecchia).
    Il confronto viene fatto confrontando l'ora in cui e stata spedita l'ultima pagina (memorizzato in session) con l'ora in cui la pagina ripostata al server è stata creata (salvata nella viewstate della pagina)

    spero ti sia utile

  4. #4
    Ciao DeBe99,
    volevo ringraziarti per la risposta.

    Ho provato il codice che mi hai dato ma ho ancora un problema.

    E' vero che capisce se sto facendo un refresh ma è anche vero che ogni volta che io passo un elemento da un ListBox a un DataTable viene anche fatto un refresh.

    Quindi lo script mi impedisce anche questa operazione, cioè non mi riempie mai il DataTable.

    Non hai qualche altra soluzione o magari suggerimenti?
    Robert

  5. #5
    Originariamente inviato da robertovv
    Ciao DeBe99,
    volevo ringraziarti per la risposta.

    Ho provato il codice che mi hai dato ma ho ancora un problema.

    E' vero che capisce se sto facendo un refresh ma è anche vero che ogni volta che io passo un elemento da un ListBox a un DataTable viene anche fatto un refresh.

    Quindi lo script mi impedisce anche questa operazione, cioè non mi riempie mai il DataTable.

    Non hai qualche altra soluzione o magari suggerimenti?
    come fa un refresh :master: al limete dovrebbe fare un postback :master:

    l'unica cosa e che lo script va fatto firare nel page_load solo nel caso la pagina non sia in postback

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.