UrlHelper.Action inclui parâmetros adicionais indesejados

Eu tenho um método no controladorApplicationsController, em que preciso obter o URL base para um método de ação:

public ActionResult MyAction(string id)
{
    var url = Url.Action("MyAction", "Applications");
    ...
}

O problema é que isso inclui ostring id dos dados da rota atual, quando eu precisar da URL sem (a URL é usada para buscar conteúdo de um CMS em uma pesquisa baseada em URL).

Eu tentei passarnull enew { } Enquanto orouteValues parâmetro sem sucesso.

A rota correspondente é a seguinte (acima de todas as outras rotas):

routes.MapLowercaseRoute(
    name: "Applications",
    url: "applications/{action}/{id}",
    defaults: new { controller = "Applications",
                    action = "Index", id = UrlParameter.Optional });

Eu vi algumas outras perguntas sobre isso, mas nenhuma delas parece ter uma solução viável. No momento, estou recorrendo a codificar o caminho no controlador; No entanto, gostaria de poder abstraer isso em um filtro de ação, por isso preciso gerar o URL.

Existe uma maneira limpa / convencional para evitar esse comportamento?

questionAnswers(4)

yourAnswerToTheQuestion