UrlHelper.Action включает в себя нежелательные дополнительные параметры
У меня есть метод в контроллереApplicationsController
, в котором мне нужно получить базовый URL для метода действия:
public ActionResult MyAction(string id)
{
var url = Url.Action("MyAction", "Applications");
...
}
Проблема в том, что это включает в себяstring id
из данных текущего маршрута, когда мне нужен URL без (URL используется для извлечения контента из CMS при поиске на основе URL).
Я пробовал проходитьnull
а такжеnew { }
какrouteValues
Параметр безрезультатен.
Соответствующий маршрут выглядит следующим образом (над всеми другими маршрутами):
routes.MapLowercaseRoute(
name: "Applications",
url: "applications/{action}/{id}",
defaults: new { controller = "Applications",
action = "Index", id = UrlParameter.Optional });
Я видел пару других вопросов, касающихся этого, но ни один из них, кажется, не имеет жизнеспособного решения. В настоящее время я прибегаю к жесткому кодированию пути в контроллере; Однако я хотел бы иметь возможность абстрагировать это в фильтр действий, поэтому мне нужно иметь возможность генерировать URL.
Есть ли чистый / обычный способ предотвратить такое поведение?