0

我有这条路线:

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 })

我得到正确的网址:

http://localhost:25814/Projects/5/Tasks/Create

我不明白为什么会有区别...具有此签名的辅助方法:

(string linkText, string actionName, string controllerName, object routeValues)

存在!那么为什么我不能使用更简单的方法呢?

4

0 回答 0