ActionLink与/ Controller / Action / Id / Id2

时间:2011-06-29 03:28:53

标签: asp.net-mvc-3

我如何拥有两个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

1 个答案:

答案 0 :(得分:1)

首先尝试添加更具体的路线(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 }
);