Ответ 1
Нашел его с помощью Reflector:
string href = Url.Action("DetailsAsXml", new { projectId = item.Id });
В одном из моих действий с контроллером я генерирую некоторый XML. Одним из атрибутов этого XML является href
для другого контроллера и действия с некоторыми параметрами. XML должен выглядеть примерно так:
<projects>
<project id="42" name="Project X", href="/projects/42"/>
<!-- etc. -->
</projects>
Я не против, если URL-адрес относительный или абсолютный, но мой вопрос заключается в следующем: как я могу сгенерировать URL-адрес в коде контроллера безопасным образом?
Другими словами, как мне сделать то, что HtmlHelper.ActionLink
делает, а из контроллера?
Нашел его с помощью Reflector:
string href = Url.Action("DetailsAsXml", new { projectId = item.Id });
Ссылка не совсем то, что вам нужно, но я думаю, что вы должны использовать аналогичный механизм - передать данные маршрута (доступные из свойства RouteData контроллера) в RouteTable.Routes.GetVirtualPath