2009-02-28 5 views
0

Mon HomeController contrôle certaines pages comme 'Index' et d'autres comme 'Contact', 'À propos de nous'.Comment faire fonctionner les actions dans le HomeController sans taper "Home"?

Mais, si je tape:

www.blabla.com/ 

le 'indice' sera appelé et il fonctionne.

Mais, si je tape:

www.blabla.com/AboutUs 

ne fonctionne pas du tout! Il fonctionne si je tape:

www.blabla.com/Home/AboutUs 

Comment puis-je faire toutes les actions dans le travail HomeController sans taper « Home » avant eux?

Répondre

4

Vous devez créer un itinéraire qui ressemble à ceci.

routes.MapRoute("AboutUs", "AboutUs", 
       new 
       { 
        controller = "Home", 
        action = "AboutUs" 
       }); 

Vous pouvez trouver vos itinéraires dans votre fichier Global.asax. La raison en est que si vous vérifiez votre fichier Global.asax, vous devriez voir une route par défaut qui fonctionne sur la route controller/action url. Donc, si vous voulez/MyMethod vous devez créer un itinéraire pour cela.

Vous pourriez aussi essayer quelque chose comme.

routes.MapRoute("HomeActions", "{action}", 
       new 
       { 
        controller = "Home", 
        action = "Index" 
       }); 

Cela devrait vous permettre d'accéder à toutes vos actions de contrôleur à domicile en utilisant simplement un /.

+0

Merci pour votre réponse Tchad! Mais, une autre question basée sur ce que vous m'avez dit ... si j'ai 10 pages dans mon HomeController, je vais devoir créer 10 nouvelles routes? N'y at-il pas un moyen de dire que toutes les actions dans HomeController seront accessibles sans le "Home /" ?? – AndreMiranda

+0

merci, Chad !! Ce que vous m'avez dit ci-dessous "Vous pouvez aussi essayer quelque chose comme" juste travaillé parfaitement! Merci, mec! – AndreMiranda

Questions connexes