2011-08-23 15 views
6

Contesto: l'utente è attualmente nella seguente pagina: http://myinternaldomain.com/page/Perché Response.Redirect non reindirizza l'URL esterno?

Problema: Quando l'utente fa clic su un pulsante nella pagina di cui sopra, il metodo MVC controller che gestisce questo scatto dovrebbe fare un po 'di elaborazione e reindirizzare l'utente a un esterno dominio dire google.com. Ho provato le 2 seguenti affermazioni separatamente, ma entrambe le chiamate aggiungo l'URL esterno alla corrente pagina interna che l'utente è on:

System.Web.HttpContext.Current.Response.Redirect("www.google.com"); // plain old HttpResponse object 


return Controller.Response.Redirect("www.google.com"); // MVC Controller's response object 

Entrambe le dichiarazioni di cui sopra si traducono in uso reindirizzato a: http://myinternaldomain.com/page/www.google.com invece di reindirizzare l'utente a www.google.com.

Cosa mi manca qui?

+0

See: http://stackoverflow.com/questions/1549324/net-mvc-redirect-to-external -url –

+0

@Ulf - questo è ciò che ho attualmente nella seconda dichiarazione sopra - non reindirizza correttamente la pagina. Ho modificato il codice per riflettere questo. –

+1

No, ti manca l'http: // –

risposta

11

È necessario anteporre il tuo URL con "http: //", in questo modo:

Controller.Response.Redirect("http://www.google.com"); 
+0

+1 (o qualsiasi schema, senza lo schema viene considerato come un URL relativo). –

Problemi correlati