Метод ActionLink принимает имя контроллера и экшена и использует эти параметры для поиска подходящего элемента в таблице роутинга. При этом, подходящей считается первая запись, удовлетворяющая условиям поиска (совпадение контроллера и экшена). Соответственно, если в приложении сложный роутинг, то ActionLink
может работать дольше, чем RouteLink
. При изменении таблицы роутинга (и даже при изменении порядка записей) может нарушиться работа ранее написанных вызовов ActionLink
.
Метод RouteLink использует имя объекта route для поиска в таблице. Соответственно, порядок добавления записей в таблицу роутинга не имеет значения, и изменения/добавление роутов не нарушит работу RouteLink
. Также, RouteLink предоставляет бОльшую точность в выборе роута, что особенно полезно когда ActionLink может вызвать некоторую неоднозначность. Например, может быть несколько роутов для одного контроллера и экшена. Тогда ActionLink будет всегда возвращать первый роут, а с помощью RouteLink можно указать конкретный route.