ASP.NET MVC ActionLink с LinkText = абсолютный URL - PullRequest
5 голосов
/ 23 сентября 2010
<%: Html.ActionLink("Share Me", "Index", "Mall", new { username = Model.Username }, null)%>

результаты ожидаемые в соответствии с сопоставленными маршрутами:

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

Мне, однако, нужно не сказать «Поделиться мной», а показать абсолютный URL, а также использовать абсолютный URL в качестве ссылки:

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

Я чувствую, что это не сложная задача, но, будучи очень зеленым в решении MVC, мне трудно понять это.

1 Ответ

9 голосов
/ 25 сентября 2010

Вместо того, чтобы использовать Html.ActionLink, вы должны взглянуть на Url.RouteUrl (который ActionLink использует внутри в любом случае). Что-то вроде ...

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

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

Обратите внимание, что первым параметром является имя маршрута.

...