2011-01-30 15 views
5

In ASP.NET utilizzo frequentemente Response.Redirect per reindirizzare l'utente finale a un'altra pagina sul mio sistema. Ho sempre impostato il secondo parametro su true per terminare immediatamente la risposta.Che cosa è un uso valido per Response.Redirect ("SomeURL", false)?

Per la vita di me, non riesco a pensare a una ragione per cui qualcuno possa mai impostare quel parametro su falso. Qual è il punto di continuare a generare una pagina quando il browser dell'utente finale verrà semplicemente reindirizzato a una pagina diversa immediatamente?

risposta

6

Response.Redirect non significa che il ciclo di vita pagina è terminato sul server, ma solo invia un'intestazione al client.

Forse si desidera reindirizzare l'utente prima e POI salvare la sua grande quantità di dati caricati nel database?

HttpServerUtility.Transfer a proposito termina il ciclo di vita della pagina, ma non invia un'intestazione, serve semplicemente una pagina diversa.

+1

Nota: quando si utilizza Trasferisci l'URL rimarrà lo stesso –

+0

Accetterò la risposta come corretta. Comunque ho letto la tua risposta come "Teoricamente, potresti usarla in questo modo" piuttosto che "In passato, l'ho usato in questo modo". Quello che mi piacerebbe sapere è che usi mai il metodo response.redirect con il secondo parametro false? – Aheho

+0

In realtà, l'ho sempre impostato su false. Preferisco usare Response.Redirect ("http://www.yahoo.com", false); invece di Response.Redirect ("http://www.yahoo.com"); –

6
Response.Redirect(..., true); 

cliente verrà inviato il reindirizzamento per la nuova pagina, l'elaborazione si arresta come interruzione filo si verificherà

Response.Redirect(..., false); 

cliente verrà inviato il reindirizzamento per la nuova pagina, pagina corrente sarà consentito per continuare l'elaborazione, forse un po 'di lavoro di pulizia da fare o qualcosa d'altro

cliente non potrà mai vedere i risultati di pagina corrente in entrambi i casi

1

Perché no. Potresti avere alcune cose da completare su questa pagina prima che i processi di una pagina vengano uccisi. Scrivi sul file e poi colsing ad esempio. O apportando alcune modifiche in DB, con la corretta conclusione della connessione.

-1

Response.Rediect("any page like Default.aspx");

Quando la portata di controllo in questa dichiarazione la nostra pagina verrà passare alla pagina che è specificato nelle staffe. La pagina potrebbe essere .aspx, .asp.htm ecc ...

+1

Nessun punto che ripete cose che sono già state spiegate in altre risposte. –

Problemi correlati