Как получить значение @Url.Action внутри контроллера

Я использую ASP.net core

Я могу использовать действие Html внутри представления

@Url.Action("GetOptions", "ControllerName", new { id="1"});

Однако я хочу получить строковое значение в контроллере.

например. что-то вроде

string Url= Url.Action("GetOptions", "ControllerName", new { id="1"}).ToString();

В предыдущих версиях MVC вы можете ссылаться на хелпер в контроллере на

  UrlHelper urlHelper = new UrlHelper(HttpContext.Current.Request.RequestContext);

В основном, что я хочу сделать, это генерировать представление строки URL в моем контроллере

Ответ 1

Для того, чтобы значения маршрута работали правильно для меня, мне пришлось использовать статический вызов помощников URL

UrlHelperExtensions.Action(Url, "Details", "Resellers", new { id = 1 })

Изменить: Сокращенный способ записи:

this.Url.Action("Details", "Resellers", new { id = 1 })

Спасибо @Learner.

Ответ 2

Добавьте @using Microsoft.AspNetCore.Mvc в Views\_ViewImports.cshtml.

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