2010-09-23 37 views
5
<%: Html.ActionLink("Share Me", "Index", "Mall", new { username = Model.Username }, null)%> 

kết quả như mong đợi theo tuyến đường ánh xạ:ASP.NET MVC ActionLink với Văn bản liên kết = URL tuyệt đối

<a href="/Mall/Username">Share Me</a> 

tuy nhiên tôi cần nó để không nói Share nhớ nhưng để hiển thị các URL tuyệt đối, cũng như sử dụng URL tuyệt đối như href:

<a href="http://www.url.com/Mall/Username">http://www.url.com/Mall/Username</a> 

Tôi cảm thấy đây không phải là một nhiệm vụ khó khăn, nhưng rất xanh trong việc giải quyết MVC Tôi đang gặp khó khăn trong việc tìm ra.

+0

Lợi ích nào có thể có khi yêu cầu URL tuyệt đối như href? –

+0

chia sẻ URL với jQuery hoặc trong email? – Stefanvds

+0

Đối với thứ hai, hiểu biết của tôi là nhấp chuột phải vào URL (trong bất kỳ trình duyệt nào) và chọn "Sao chép vị trí liên kết" sẽ luôn * trả lại URL tuyệt đối bất kể URL tương đối có được sử dụng hay không. Đối với các cựu, tại sao nó sẽ là hữu ích ngay cả trong jQuery để có URL tuyệt đối? Các URL tương đối sẽ hoạt động tốt trong jQuery nhiều như nó có liên kết bình thường. –

Trả lời

9

Thay vì sử dụng Html.ActionLink, bạn nên xem Url.RouteUrl (mà ActionLink sử dụng nội bộ anyway). Một cái gì đó như ...

<% var myUrl = Url.RouteUrl("Default", new { action = "Mall", username = Model.Username }, Request.Url.Scheme).ToString() %> 

<a href="<%:myUrl%>"><%:myUrl%></a> 

Lưu ý tham số đầu tiên là tên tuyến đường.

+0

Chính xác những gì tôi đang tìm kiếm, cảm ơn! –

+0

Thử cách này và @ Model.Username không hiển thị trong chế độ xem. Làm cách nào để bạn truy cập vào ViewData từ mẫu xem? –

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