2010-08-18 9 views
0

i ont une classe de ApplicationController avec une action appelée Administrateurroutage URL dans asp.net mvc

donc mon URL est www.mysite.com/Application/Admin

est là de toute façon je peux avoir la routage être www.mysite.com/Admin et passez à cette méthode.

Je sais que je peux le faire en créant un AdminController mais pour cette seule fonction je pensais qu'il était plus facile de mettre dans un autre contrôleur

Répondre

3

Mettre ce-dessus de votre route par défaut:

routes.MapRoute(
    "ShortRoute", 
    "{action}", 
    new { controller = "Application", action = "Index"} 
); 
+0

+1, bonne réponse @Robert. –

1

Vous pouvez régler le contrôleur Application et la méthode Admin comme le contrôleur par défaut et l'action, en utilisant paramètre par défaut:

routes.MapRoute(
    "Default", // Route name 
    "{action}", // URL with parameters 
    new { controller = "Application", action = "Admin" } 
); 

Si ceci est votre dernière route, il correspondra à toute demande qui ne dispose pas d'un nom de contrôleur et un nom d'action en elle. Dans cet exemple particulier, même une requête sans action exécutera votre action Admin, puisqu'il s'agit de l'action par défaut.

Notez que les routes avec des paramètres par défaut peuvent créer un comportement étrange dans vos routes existantes, si vous en avez. Vous pouvez toujours utiliser le ASP.NET MVC Routing Debugger pour tester les routes correspondant à une URL donnée.

+1

Vous avez encore besoin d'une nouvelle route. –

+0

@Robert Ceci est la nouvelle route. :) – bzlm

+0

Je ne pense pas que celui-ci correspondra à mysite.com/action. –