asp.net mvc 3 - ActionLink with /Controller/Action/Id/Id2



我怎么能有一个有两个Id的动作链接。(我正在使用区域)。Id2被呈现为查询字符串。

控制器

public ActionResult View(int id, int id2)

路线

context.MapRoute(
    "Admin_default",
    "Admin/{controller}/{action}/{id}",
    new { action = "Index", id = UrlParameter.Optional }
);
context.MapRoute(
    "Admin_default2",
    "Admin/{controller}/{action}/{id}/{id2}",
    new { action = "Index"}
);

ActionLink

@Html.ActionLink("Click", "News/View", new { area = "Admin", id = 1, id2 = 2 }, null)

渲染链接

/Admin/News/View/1?id2=2

预期链接

/Admin/News/View/1/2

请先尝试添加更具体的路由(Admin_default2)。

因此,您的映射代码看起来像:

context.MapRoute(
    "Admin_default2",
    "Admin/{controller}/{action}/{id}/{id2}",
    new { action = "Index"}
);
context.MapRoute(
    "Admin_default",
    "Admin/{controller}/{action}/{id}",
    new { action = "Index", id = UrlParameter.Optional }
);

最新更新