2011-06-21 36 views
6

Tôi không thể nhận Html.ActionLink để tạo url tuyệt đối.URL tuyệt đối (bên ngoài) với Html.ActionLink

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

này kéo dữ liệu từ mô hình của tôi một cách chính xác, nhưng gắn thêm đường dẫn đến sự kết thúc của trang hiện tại, sản xuất các URL như "http: // localhost: 24.590/www.google.com"

Làm thế nào tôi có thể có được điều này để làm việc như thế nào tôi muốn nó?

Trả lời

8

Sử dụng URL tuyệt đối bắt đầu bằng số http://.

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

sẽ có cùng kết quả vì đó là url tương đối.

+0

không chắc chắn cách này trả lời câu hỏi. Tôi đang chạy vào cùng một vấn đề và không chắc chắn làm thế nào để tạo ra một url với một đường dẫn tuyệt đối. Ví dụ, tôi đã cố gắng làm một cái gì đó như Html.ActionLink ("liên kết thử nghiệm", "http://www.google.com") và nó tạo ra những gì Skrealin đang phàn nàn. Sau đó, tôi đã thử test link và nó mang lại kết quả tương tự. Vì vậy, làm thế nào điều này có thể được thực hiện? – Keith

+4

Như tôi đã viết trong câu trả lời, sử dụng một URL tuyệt đối. Trình trợ giúp ActionLink cố gắng cung cấp một URL cho trang web của bạn, vì vậy nếu bạn đưa ra một đường dẫn tương đối, anh ta phải nghĩ rằng đó là một phần của trang của bạn. Bạn phải đặt rõ ràng một URL tuyệt đối và điều này được thực hiện bằng cách sử dụng 'http: //' ở phía trước. Bạn nên sử dụng 'Html.ActionLink (" liên kết thử nghiệm "," http://google.com ")'. – DanielB

+0

Điều gì sẽ xảy ra nếu url trong mô hình bắt đầu bằng http: // ?? –

13

này làm việc cho tôi:

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

[ở đây] (http://stackoverflow.com/a/31568368/2218697) là nhiều tùy chọn hơn – stom

Các vấn đề liên quan