私はこのルートを持っています:
routes.MapRoute(
name: "Task",
url: "Projects/{projectID}/Tasks/{action}/{id}",
defaults: new { controller = "Tasks", action = "Index", id = UrlParameter.Optional }
);
リンクを作成したい:
@Html.ActionLink("Add task", "Create", "Tasks", new { projectID = 5 })
しかし、私は得ます(私はプロジェクトのインデックスビューにいます):
http://localhost:25814/Projects/Create?Length=5
私が使うとき
@Html.ActionLink("Add task", "Create", new { controller = "Tasks", projectID = 5 })
私は正しいURLを取得します:
http://localhost:25814/Projects/5/Tasks/Create
なぜ違いがあるのか わかりません...このシグネチャを持つヘルパーメソッド:
(string linkText, string actionName, string controllerName, object routeValues)
存在します!では、なぜ簡単な方法を使用できないのでしょうか。