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?