2012-01-12 16 views
5

Nella pagina 1 sul pulsante clic reindirizzamento della pagina a pagina 2 con msgid, e nella pagina 2 in caricamento pagina controllo se la pagina precedente è valida . Quindi controllo lo (this.Page.PreviousPage != null) ma questo è sempre nullo e la pagina viene reindirizzata alla pagina 1. Lo sto facendo in modo che nessuno possa cambiare il msgid nell'URL. Come posso risolvere questo problema. grazieCome verificare che la pagina sia reindirizzata dalla pagina precedente o non in asp.net

Pagina1:

int msgid = Convert.ToInt32(Hidden_MsgID.Value); 
    string url = "Page2.aspx?MsgID=" + msgid; 
    Response.Redirect(url);  

Pagina2:

if (this.Page.PreviousPage != null) 
       { 
       } 
       else 
       { 
        Response.Redirect("Page1.aspx"); 
       } 

invece di response.redirect ho usato server. trasferimento e funziona Server.Transfer (string.Format ("ResponseMetric.aspx? MsgID = {0}", msgid));

risposta

1

Forse è possibile utilizzare una variabile di sessione per controllare se il flusso è seguito come pure .. Prima che il reindirizzamento è possibile impostare

Session["PREVPAGE"] = "fooo.aspx"; 

E recuperarlo nel caricamento della pagina del secondo pag ..

+2

'Session' non è affidabile al 100% - cosa succede se si fa un riciclo nel frattempo? –

Problemi correlati