2011-08-23 21 views
6

Contexto: El usuario está actualmente en la siguiente página: http://myinternaldomain.com/page/¿Por qué Response.Redirect no redirige una URL externa?

Edición: Cuando el usuario hace clic en un botón en la página anterior, el método MVC controlador que maneja este clic debe hacer algo de procesamiento y redirigir al usuario a una externa dominio decir google.com. Probé los 2 siguientes declaraciones por separado, pero ambas llamadas anexa la dirección URL externa a la página interna actual de que el usuario está en:

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 

Tanto las declaraciones anteriores dan como resultado usuario Primeros redirigido a: http://myinternaldomain.com/page/www.google.com en lugar de sólo redirigir al usuario a www.google.com.

¿Qué me falta aquí?

+0

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

+0

@Ulf: esto es lo que tengo actualmente en la segunda declaración anterior: no redirige la página correctamente. He editado el código para reflejar esto. –

+1

No, te falta el http: // –

Respuesta

11

Necesitas prefijar antes de la dirección "http: //", así:

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

+1 (o cualquier esquema, sin el esquema se trata como una URL relativa). –

Cuestiones relacionadas