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.

Есть ли чистый / обычный способ предотвратить такое поведение?

Ответы на вопрос(4)

Ваш ответ на вопрос