2010-08-23 9 views
0

gars, j'ai une page dans mon site web asp.net mvc. la configuration Route:ASP.net MVC route personnalisée

 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 
     ); 
    } 

le code du contrôleur:

 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(); 
    } 

et je veux l'utilisateur à visiter http://www.domain.com/5 redirect Détail de l'action avec le paramètre 5.

comment le soutenir?

pense.

Répondre

6

Essayez de définir l'itinéraire suivant avant la route par défaut:

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

pense, il est vrai. – Net205

+0

Je suis désolé, c'est "merci", pas "pense" – Net205

+0

@Darin Dimitrov J'ai posé une question similaire ici: http://stackoverflow.com/questions/23237336/mvc-route-map-without-any-routing- paramètre voulez-vous s'il vous plaît vérifier –

Questions connexes