Как получить значение @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.
Я опаздываю на вечеринку, но я решил добавить свой ответ для справки в любом случае.