Html.ActionLink不包含参数的问题(MVC3)

Dea*_*ean 7 asp.net-mvc asp.net-mvc-3

我遇到Html.ActionLink的问题没有给我我期待的链接.

这是我的路线:

routes.MapRoute(
    "KnownCustomer", // Route name
    "{controller}/{action}/{custId}/{projId}", // URL with parameters
        new { controller = "Home", action = "Index" }, // Parameter defaults
    new { custId = @"\d+", projId = @"\d+" }
);
Run Code Online (Sandbox Code Playgroud)

这是我对Html.ActionLink()的调用"

@Html.ActionLink("Create New", "Create", "Conflict")
Run Code Online (Sandbox Code Playgroud)

以下是ActionLink存在的页面的URL: http:// localhost:1283/Conflict/Index/1200/300 以下是对上述Html.ActionLink()的调用结果 http:// localhost:1283 /冲突/创建

呼叫不应该包含其他路由参数吗?我期待的是 http:// localhost:1283/Conflict/Create/1200/300

我是否需要将custId和projId传递给View并使用重载手动提供值?

Laz*_*rus 11

您没有指定操作链接应该包含任何参数,在这种情况下,它是操作的直接URL.您需要包含参数,即

@Html.ActionLink("Create New", "Create", "Conflict", new { custID = Model.custID, projID  = Model.projID }, null)
Run Code Online (Sandbox Code Playgroud)