ActionLink zeigen die Parameter in der URL anstelle der querystring?
Habe ich diese route definiert:
routes.MapRoute(
"Details", //Route name
"{home}/{details}/{id}/{name}", //URL with parameters
new
{
controller = "Home",
action = "Details",
id = UrlParameter.Optional,
name = UrlParameter.Optional
} //Parameter defaults
);
Den ActionLink:
@Html.ActionLink("Show Details", "Details", "MyController", new { id = 1, name ="a" })
Den actionlink Ergebnisse in /Home/Details/1?name=a
ich bin nach /Home/List/1/a
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre route-definition sollte wie folgt sein:
Außerdem sollten Sie die korrekte überlastung:
Beachten Sie die
null
am Ende.Einen wild guess :
wahrscheinlich Ihre route wurde registriert, nachdem die default-route. Setzen Sie es als erste route innerhalb der globalen.asax, dann wird es funktionieren.
Wie unten :
UPDATE
@Simon ist richtig, aber können Sie eine andere Weise, wenn Sie wollen.
Damit der Weg zur Arbeit nur für eine action-Methode, verwenden Sie folgenden code.
Anlegen ein constraint wie folgt :
Und dann ändern Sie Ihre route wie unten :