2011-06-21 19 views
6

Nie mogę uzyskać adresu URL html.ActionLink w celu generowania bezwzględnych adresów URL.Absolutne (zewnętrzne) adresy URL za pomocą Html.ActionLink

Html.ActionLink(DataBinder.Eval(c.DataItem, "Name").ToString(), DataBinder.Eval(c.DataItem, "Path").ToString()) 

To ciągnie dane z mojego modelu poprawnie, ale dołącza ścieżkę do końca bieżącej strony, tworząc adresy URL typu "http: // localhost: 24590/www.google.com"

Jak mogę sprawić, żeby działało tak, jak tego chcę?

Odpowiedz

8

Użyj bezwzględnego adresu URL zaczynającego się od http://.

<a href="www.google.com"></a> 

miałby taki sam wynik, ponieważ jest to względny adres URL.

+0

nie wiem, jak to jest odpowiedź na pytanie. Pracuję nad tym samym problemem i nie wiem, jak wygenerować adres URL z absolutną ścieżką. Na przykład, próbowałem zrobić coś takiego jak Html.ActionLink ("test link", "http://www.google.com") i generuje to, na co Skrealin narzeka. Następnie próbowałem test link i przyniosło to samo wyniki. Jak to zrobić? – Keith

+4

Jak napisałem w odpowiedzi, użyj bezwzględnego adresu URL. Pomocnik ActionLink próbuje podać adres URL dla Twojej witryny, więc jeśli podasz względną ścieżkę, musi pomyśleć, że jest częścią Twojej strony. Musisz jawnie ustawić bezwzględny adres URL, a odbywa się to przez wprowadzenie 'http: //' z przodu. Powinieneś użyć 'Html.ActionLink (" test link "," http://google.com ")'. – DanielB

+0

Co zrobić, jeśli adres URL w modelu zaczyna się od http: // ?? –

13

Działa to dla mnie:

<a href="http://@Model.URL"> 
    Click Here 
</a> 
+0

[tutaj] (http://stackoverflow.com/a/31568368/2218697) jest więcej opcji – stom

Powiązane problemy