Ответ 1
RouteUrl
сгенерирован URL-адрес на основе имени маршрута. Если у вас есть несколько маршрутов с аналогичными параметрами, метод Action
может выбрать неправильный - он работает на основе порядка определений маршрутов. Это может происходить, когда ваши маршруты имеют необязательные параметры.
Если вы хотите убедиться, что URL-адрес определенного маршрута будет использован, вам нужно позвонить RouteUrl
, передав это имя маршрута. Названия маршрутов уникальны и четко идентифицируют маршрут.
Еще одно отличие состоит в том, что Action
является специфичным для MVC (он использует имена контроллеров и действий), а RouteUrl
является общим и может использоваться без MVC (вы можете иметь маршрутизацию в WebForms).