5

擺脫/索引我在運行時是這樣產生的ActionLinks的動態列表:MVC路由獲取URL

@Html.ActionLink(x.Name, "Index", "User", new { x.ID }, null) 

所以我打的用戶控制器上的指數方法。

我也有我的RouteConfig.cs(這是一個MVC4應用程序)設置如下:

public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     routes.MapHttpRoute(
      name: "DefaultApi", 
      routeTemplate: "api/{controller}/{id}", 
      defaults: new { id = RouteParameter.Optional } 
     ); 

     routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}/{id}", 
      defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
     ); 

     routes.MapRoute(
      name: "", 
      url: "{controller}/{action}/{id}", 
      defaults: new { controller = "User", action = "Index", id = UrlParameter.Optional } 
     ); 
    } 

這讓我在我的鏈接列表的鏈接server/application/User/Index/1

我需要做什麼在列表生成和/或路由文件中將其更改爲server/application/User/1

回答

9

添加不需要的行動,但不會與其他路線

routes.MapRoute("User", "User/{id}", 
         new { controller = "User", action = "Index" }); 
+0

曾爲喜歡一個魅力衝突的路線 - 感謝! – markp3rry