Je suis confus au sujet des routes MVC. Disons que j'ai ce domaine: poopoopants.com. Je veux des URL standards de la racine qui vont à une page « About » ou « Contact » page:Routes dynamiques ASP.NET MVC
http://poopoopants.com/about
http://poopoopants.com/contact
Maintenant, je vais aussi avoir une quantité infinie de ces deux routes ci-dessous, où « [ utilisateur] » est une variable pour le nom d'utilisateur pour une personne inscrite à un compte sur poopoopants.com et chemin fichier [] est un chemin de fichier-sanitize URL qui peut contenir le caractère/:
http://poopoopants.com/[user]
http://poopoopants.com/[user]/[file-path]
Donc, je suppose que je l'aurais un IndexController
avec une action Index
pour /
, About
un ction pour /about
, Contact
action pour /contact
, et un avec Index
action pour /[user]/
et File
action pour /[user]/[file-path]
.
Ma question concerne les itinéraires définis dans Global.asax.cs
. Jusqu'à présent, j'ai:
routes.MapRoute("Index", "/", new { controller = "Index", action = "Index" });
routes.MapRoute("About", "/about", new { controller = "Index", action = "About" });
routes.MapRoute("Contact", "/contact", new { controller = "Index", action = "Contact" });
Mais que dois-je préciser pour [utilisateur]/et/[utilisateur]/[fichier-path] routes, et quelles sont les signatures de méthode correspondantes de leurs actions dans UserController
?
je devais changer le paramètre d'URL pour la route "Fichier" à "{nom d'utilisateur}/{* filepath}" pour soutenir les chemins de fichiers avec '/' en eux, mais qui a travaillé perfectly- -Merci! – SnickersAreMyFave
Hmm, je ne vois pas comment je pourrais avoir une route pour Contact et About, parce que la route User va capturer tout ce qui n'est pas explicitement défini comme un itinéraire, n'est-ce pas? – SnickersAreMyFave
Oui, j'avais tort. Des tests rapides ont prouvé que;) Je suis heureux d'avoir pu aider, bonne chance pour votre projet. – mlusiak