UrlHelper.Action enthält unerwünschte zusätzliche Parameter

Ich habe eine Methode in der SteuerungApplicationsController, in dem ich die Basis-URL für eine Aktionsmethode erhalten muss:

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

Das Problem ist, dass dies das beinhaltetstring id Aus den aktuellen Routendaten, wenn ich die URL ohne benötige (die URL wird zum Abrufen von Inhalten von einem CMS bei einer URL-basierten Suche verwendet).

Ich habe versucht vorbei zu kommennull undnew { } als dierouteValues Parameter ohne Erfolg

Die passende Route ist wie folgt (vor allen anderen Routen):

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

Ich habe ein paar andere Fragen gesehen, aber keine scheint eine brauchbare Lösung zu haben. Derzeit greife ich auf die Hardcodierung des Pfads im Controller zurück. Ich möchte dies jedoch in einen Aktionsfilter abstrahieren können, daher muss ich in der Lage sein, die URL zu generieren.

Gibt es eine saubere / konventionelle Möglichkeit, dieses Verhalten zu verhindern?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage