2011-06-21 183 views
6

我無法讓Html.ActionLink生成絕對網址。使用Html.ActionLink的絕對(外部)網址

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

這是直接從我的正確模型中的數據,而是將該路徑追加到當前頁面的結束,產生的URL一樣的「http://本地主機:24590/www.google.com」

我怎樣才能得到這個工作我想要的?

回答

8

使用從http://開始的絕對URL。

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

會有相同的結果,因爲它是一個相對的網址。

+0

不知道如何回答這個問題。我遇到了同樣的問題,不知道如何生成一個絕對路徑的網址。例如,我試圖做一些像Html.ActionLink(「測試鏈接」,「http://www.google.com」)的東西,它會產生什麼Skrealin抱怨。然後,我嘗試了test link,並得到了相同的結果。那麼,這怎麼做呢? – Keith

+4

正如我在答案中所寫,使用絕對URL。 ActionLink助手會嘗試爲您的網站提供一個URL,因此如果您提供相對路徑,他必須認爲它是您網頁的一部分。你必須明確地設置一個絕對URL,這是通過在前面加上'http://'完成的。您應該使用'Html.ActionLink(「測試鏈接」,「http://google.com」)'。 – DanielB

+0

如果模型中的網址以http://開頭怎麼辦? –

13

這個工作對我來說:

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

[here](http://stackoverflow.com/a/31568368/2218697)更多選項 – stom