2010-01-12 11 views
1

Je suis un peu confus avec Asp.net MVC Area. Lorsque nous parlons de WebForms, nous disons que pour les tâches administratives, vous devez avoir un dossier Admin pour séparer la tâche d'administration.Tâches administratives Asp.net MVC et Web Application

Dans MVC comment vais-je traiter mes tâches d'administration?

Je vais aller pour la zone Admin ou les contrôleurs d'administration,

Parce que si je vais écrire contrôleur pour les tâches d'administration, chaque tâche sera écrit dans un contrôleur (AdminController) ou si je vais écrire Area -> Controller , signifie que je devrai écrire au moins deux contrôleurs pour chaque fonctionnalité.

Deuxièmement si nous casse l'application dans les zones (en tant que modules) comment je vais gérer la tâche d'administration pour chaque zone.

Répondre

1

Oui, ce sont vos options; vous pouvez utiliser un contrôleur d'administration, ou des méthodes d'action d'administration distinctes dans différents contrôleurs cassés ou tirer parti de la fonctionnalité de zones MVC 2 (si possible en fonction des besoins).

Comment sont définies vos tâches administratives? Par exemple, si vous avez une section sur les clients et les produits, avez-vous des fonctions administratives dans chacun de ces domaines, ou avez-vous des fonctions d'administration pour le site seulement, ou quelque chose comme ça?

+0

Je développe un portail de bibliothèque, dans lequel j'ai des livres, la bibliothèque de médias (images, audio, vidéo etc.), le forum etc. Je prévois de créer la bibliothèque de médias en tant qu'un secteur, forum en tant qu'un autre secteur et ainsi de suite Toutes ces fonctionnalités auront un rôle administratif. Maintenant, j'ai deux choix pour faire ce travail ... 1, Créer un saparate Administrateur de qui ont separat Controller comme MediaController, ForumController etc Pour cet itinéraire sera « http://myweb.com/Admin/ {Controller}/{Task} "(une adresse conviviale). continuer .... –

+0

2, créer un AdminController dans tous ces domaines. dans lequel je vais avoir "http://myweb.com/{Area}/AdminColtroller/{Task}", qui n'est pas facile à utiliser pour moi Le maïs de 1er choix, est chaque zone dépendra de la zone d'administration, ce qui n'est pas une bonne idée mais c'est un bon itinéraire. Le maïs du 2e choix, bien que je puisse copier la zone à un autre projet pour la réutiliser mais l'itinéraire ne sera pas facile à utiliser. Solution comme je pense, aller pour le choix 2, créer AdminController dans chaque zone, et créer des routes comme choix 1 puis le mapper à AdminController :) Ai-je raison –

+0

Oui, vous êtes sur la bonne voie si je comprends bien. D'autres options: Chaque zone peut avoir une vue/méthode d'administration dans ces contrôleurs, donc MediaController.Admin méthode d'action pour la zone d'administration, de sorte que vous n'avez pas besoin de créer un contrôleur séparé (pas sûr que c'est mieux, juste une autre option). Ou avoir un lien dans chaque module pour l'admin, mais utiliser RedirectToActionResult, qui redirige vers un module d'administration centrale, il semble donc que chaque zone a une section admin, mais vous pouvez rediriger vers une action en dehors de la zone/contrôleur ... –

Questions connexes