2011-06-29 31 views
0

如何使用兩個ID進行操作鏈接。 (我正在使用區域)。 Id2被呈現爲查詢字符串。帶/ Controller/Action/Id/Id2的ActionLink

控制器

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

嘗試添加更具體的路線(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 } 
);