ASP.NET ActionLink将控制器指定为字符串参数

时间:2013-06-23 16:25:42

标签: asp.net routing routes

我有这条路线:

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)

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

0 个答案:

没有答案