2011-08-08 7 views
0

Je rencontre des difficultés pour mapper mon site à l'aide de MVC.MVC - Quels sont les contrôleurs et quelles sont les vues?

Quels sont les contrôleurs et les vues de la hiérarchie de pages suivante?

Index (Accueil)

-> Joueurs

---> Répertoire

-----> Attaquants

-----> Défense

---> Profil

-----> Nouvelles

-----> Statistiques

-> Équipes

---> Répertoire

------> Division

---> Profil de l'équipe

-----> Nouvelles

-----> Statistiques

À l'aide de/Players/Profile/Stats à titre d'exemple, 'Profile' le contrôleur et 'Stats' la vue? Qu'est-ce que 'Players'? La page par défaut (index) de 'Players' est 'Directory'. Est-ce que 'Players' serait aussi un contrôleur?

Existe-t-il une meilleure façon de structurer ce site?

Merci pour vos réponses. Un exemple existant serait http://sports.yahoo.com/nhl/players/4351 C'est une page de profil. Si vous cliquez sur les autres onglets (ex: Split Stats), une autre vue apparaît. Voilà comment je veux le structurer. Dans l'URL yahoo, il semble que 'players' est une vue et que l'ID est un paramètre de la vue. Toutefois, lorsque vous cliquez sur les autres onglets, une autre vue semble être ajoutée à l'URL (par exemple http://sports.yahoo.com/nhl/players/4351/splits). Dans ce cas, les «joueurs» sont-ils une vue et «divisent»-ils aussi une vue?

Répondre

0

Controller est une classe créée pour prendre en charge les données d'un message get/post et déterminer les View à renvoyer. Cela se fait grâce à des méthodes de régulation appelées Actions

un exemple ...

MyController -> a une action -> Accueil -> Retours d'action Accueil -> Accueil Voir

0

Vous pouvez structurer votre application comme vous le souhaitez. Cela semble raisonnable cependant.

Dans votre exemple "/ Players/Profile/Stats" Les joueurs seraient une zone dans votre application MVC. Profil serait votre ProfileController.cs et Stats serait une action dans ce contrôleur (qui a une vue correspondante avec le même nom: Stats.aspx).

+0

Pourquoi les joueurs et l'équipe ne seraient-ils pas les domaines, alors que Directory et Profile seraient des contrôleurs avec des actions spécifiques? –

+0

C'est ce que je disais. :) –

+0

Gotcha, mal interprété comme "joueurs" et "profils" et "Statistiques" serait "zones" –

0

Les contrôleurs et les actions ne sont pas toujours mappés individuellement avec une carte de navigation comme celle que vous avez présentée.Cependant, dans votre cas, je probablement créé les contrôleurs suivants:

PlayerController 
TeamController 

Le PlayerController aurait probablement les actions suivantes:

GetAll() 
GetForwards() 
GetDefense() 
GetProfile(id) 
GetNews(id) 
GetStats(id) 

Le TeamController aurait probablement:

GetAll() 
GetByDivision(id) 
GetProfile(id) 
GetNews(id) 
GetStats(id) 

Cependant , car il est difficile de dire exactement à partir de votre carte de navigation l'intention, je ne peux pas dire avec certitude.

Questions connexes