2010-05-11 3 views
1

Je suis en train de mettre en œuvre un outil de gestion des exigences très simple.Routes personnalisées ASP.NET pour un outil simple de gestion des exigences

Je veux que les URL à ressembler à ceci:

Affiche page d'accueil pour « un projet »:
http://projectmanager/Project/Project%20One

Affiche une liste des besoins en cours d'élaboration pour « un projet »
http://projectmanager/Project/Project%20One/Requirements

Indique l'exigence 1 pour "un projet"
http://projectmanager/Project/Project%20One/Requirement/1

Comment pourrais-je mettre en place des itinéraires afin que

http://projectmanager/Project/Project%20One 

est géré par le contrôleur de projet

http://projectmanager/Project/Project%20One/Requirements 
and 
http://projectmanager/Project/Project%20One/Requirements/1 

est géré par le contrôleur des exigences.

Est-ce encore possible?

Répondre

0

Je pense que oui.

L'une des options:

Contrôleurs:

public class ProjectController : Controller 
{ 
    public ActionResult Project(string projectName) 
    { 
     return Content("Project: " + projectName); 
    } 
} 

public class RequirementsController : Controller 
{ 
    public ActionResult Requirements(string projectName) 
    { 
     return Content("Requirements: " + projectName); 
    } 

    public ActionResult Requirement(string projectName, int id) 
    { 
     return Content("Requirement: " + projectName + " - " + id); 
    } 
} 

Route enregistrement:

 routes.MapRoute(null, 
         "Project/{projectName}", 
         new {controller = "Project", action = "Project"}); 
     routes.MapRoute(null, 
         "Project/{projectName}/Requirements", 
         new { controller = "Requirements", action = "Requirements" }); 
     routes.MapRoute(null, 
         "Project/{projectName}/Requirement/{id}", 
         new { controller = "Requirements", action = "Requirement" }); 

Id dépend de ce que d'autres routes voulez-vous. Modifier: en passant: ces routes doivent être ajoutées avant votre route par défaut (si vous l'avez toujours à partir du modèle d'application).

Questions connexes