2011-09-20 2 views
1

Pour le projet sur lequel je travaille, nous avons des entreprises. Les entreprises ont des contacts et des installations. Sur la base des règles métier, le flux consiste à sélectionner une société pour accéder aux contacts ou aux fonctionnalités.MVC 3 AREAS - Workflows hiérarchiques

EDIT: Les entités sont des sociétés, des services et des contacts.

Comme chaque entité a ses propres flux de travail, ils ont tous leur AREA dans le code. Que serait un moyen propre pour vous assurer tha l'URL de routage serait quelque chose comme ci-dessous:

/Société/1234/contact/456

/Société/1234/installation/679

S'il y avait un chemin vers les zones suivantes qui semblerait être un bon moyen, mais pourrait rendre le code désordonné.

+0

pourriez-vous clarifier ce qu'est ou est cette entrée? –

Répondre

2

Je ne pense pas que vous devez utiliser les zones

Pour faire ce que vous voulez pourrait être fait en définissant les routes dans le global.asax pour chaque « subcontroller » pour aider le moteur. (Je suppose que Contact et Facility sont? controllers séparés)

Cela ne signifie être très précis sur ce modèle va à quelle route, mais je pense que le ci-dessous faire ce que vous avez besoin.

Ajouter ces 2 nouvelles routes dans le asax global (au-dessus de la route par défaut):

 routes.MapRoute(
     "ContactRoute", // Route name 
     "Company/{id}/Contact/{action}/{contactId}", // URL with parameters 
     new { controller = "Contact", action = "Index" 
     } // Parameter defaults 
     ); 

     routes.MapRoute(
     "FacilityRoute", // Route name 
     "Company/{id}/Facility/{action}/{facilityId}", // URL with parameters 
     new { controller = "Facility", action = "Index" 
     } // Parameter defaults 
     ); 

Je ne suis pas à 100% sur le code, vous pourriez avoir besoin de définir le contactId et facilityId en option, mais J'espère que ça te donne une idée?

Questions connexes