2011-08-23 10 views
6

Kontekst: Użytkownik nie jest obecnie w poniższej stronie: http://myinternaldomain.com/page/Dlaczego usługa Response.Redirect nie przekierowuje zewnętrznego adresu URL?

Problem: Kiedy użytkownik kliknie przycisk w powyższej stronie, metoda MVC kontroler, który obsługuje tę kliknięcie powinno zrobić niektóre przetwarzania i przekierować użytkownika do zewnętrznego domain say google.com. Próbowałem sprawozdań 2 poniżej oddzielnie, ale oba połączenia dołączyć zewnętrzny adres URL do aktualnej strony wewnętrznej, że użytkownik jest na:

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 

Oba powyższe oświadczenia skutkować użytkownik uzyskiwanie przekierowany do: http://myinternaldomain.com/page/www.google.com zamiast po prostu przekierowanie użytkownika na www.google.com.

Czego mi tu brakuje?

+0

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

+0

@Ulf - to jest to, co aktualnie mam w drugim powyższym zestawieniu - nie przekierowuje strony poprawnie. Zmodyfikowałem kod, aby to odzwierciedlić. –

+1

Nie, brakuje http: // –

Odpowiedz

11

trzeba poprzedzić adres URL "http: //", tak:

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

+1 (lub dowolnego schematu, bez schematu traktowany jest jako względny adres URL). –

Powiązane problemy