2010-08-23 227 views
0

家伙,我有我的asp.net mvc网站的页面。 的路由配置:ASP.net MVC自定义路由

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

     routes.MapRoute(
      "Default", // Route name 
      "{controller}/{action}/{index}", // URL with parameters 
      new { controller = "Home", action = "Detail", index = "" } // Parameter defaults 
     ); 
    } 

控制器代码:

 public ActionResult Detail(string index) 
    { 
     string[,] List = new string[,] { {"1", "first item"}, {"3", "middle item"}, {"5", "last item"}}; 
     ViewData["Message"] = "no results."; 

     if (!string.IsNullOrEmpty(index)) 
     { 
      for (int i = 0; i <= List.GetUpperBound(0); i++) 
      { 
       if (List[i, 0] == index) 
       { 
        ViewData["Message"] = List[i, 1]; 
       } 
      } 
     } 

     return View(); 
    } 

,我想用户访问http://www.domain.com/5重定向动作详细参数5.

怎么支持呢?

认为。

回答

6

尝试定义之前下列路线默认路由:

routes.MapRoute(
    "Custom", 
    "{index}", 
    new { controller = "Home", action = "Detail", index = "" } 
); 
+0

认为,这是正确的。 – Net205 2010-08-23 07:09:54

+0

对不起,这是“谢谢”,而不是“认为” – Net205 2010-08-23 07:15:51

+0

@Darin Dimitrov我在这里问了一个类似的问题:http://stackoverflow.com/questions/23237336/mvc-route-map-without-any-routing-你可以检查一下参数 – 2014-04-23 08:00:21