Question

For some reason, my route isn't being seen by .NET.

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

routes.MapRoute(
   "RSSFeed", // Route name
   "Blog/RSSFeed", // URL with parameters
   new { controller = "Blog", action = "RSSFeed", id = UrlParameter.Optional } // Parameter defaults
);

routes.MapRoute(
   "About", // Route name
   "About/", // URL with parameters
   new { controller = "About", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);

routes.MapRoute(
  "Contact", // Route name
  "Contact/", // URL with parameters
  new { controller = "Contact", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);

routes.MapRoute(
           "Admin", // Route name
           "admin/", // URL with parameters
           new { controller = "Admin", action = "CreatePost", id = UrlParameter.Optional } // Parameter defaults
);       

routes.MapRoute(
         "Resume", // Route name
         "resume/", // URL with parameters
         new { controller = "Resume", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);

routes.MapRoute(
 "ViewArticle", // Route name
 "{controller}/{action}/{id}/{friendly}", // URL with parameters
 new {  friendly = "" } // Parameter defaults
);          

 routes.MapRoute(
   "DownloadResume", // Route name
   "DownloadResume/", // URL with parameters
   new { controller = "Resume", action = "DownloadResume", id = UrlParameter.Optional } // Parameter defaults
 );

//Any of these

routes.MapRoute(
    "cpe", // Route name
    "Play/CreatePlayEvent/{groupid}/{username}/{activeplay}/{game}", // URL with parameters
    new { controller = "Play", action = "CreatePlayEvent", groupID = "0", username = "", activeplay = "", game = "" } // Parameter defaults
);

routes.MapRoute(
   "CheckPlayEvent", // Route name
   "{controller}/{action}/{groupID}", // URL with parameters
   new { controller = "Play", action = "CheckPlayEvent", groupID = "0" } // Parameter defaults
);

routes.MapRoute(
   "clpe", // Route name
   "Play/ClearPlayEvent/{groupid}/{username}", // URL with parameters
   new { controller = "Play", action = "ClearPlayEvent", groupID = "0", username = "" } // Parameter defaults
);

//End broken routes
routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "Blog", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);

myurl.com/Play/CheckPlayEvent/0

Group ID keeps being seen as NULL on the controller side. Anyone? Also, there doesn't seem to be a built-in debugger for routing, or at least I haven't seen one. What does everyone use to debug routes?

Is there a way to say that the Controller name, method name, and parameters make the URL?

Was it helpful?

Solution

I think the following route is getting hit, rather that your intended route:

    routes.MapRoute(
     "ViewArticle", // Route name
     "{controller}/{action}/{id}/{friendly}", // URL with parameters
     new {  friendly = "" } // Parameter defaults
    );

Friendly is optional, so {controller}/{action}/{id} style routes will also hit this - which looks really quite like the route you are having trouble with.

Move your play route above this one and try again.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top