2010-11-02 50 views
0

Si j'utilise un autre projet de bibliothèque de classes pour contenir mes contrôleurs, comment puis-je créer des contrôleurs. Auparavant, je l'utilise pour faire un clic droit sur le dossier des contrôleurs, puis sur Ajouter un contrôleur. De même, comment vais-je créer de nouvelles vues fortement typées? Lorsque je sélectionne ajouter vue-> saisie manuelle, la liste des classes de données est vide.Un petit problème auquel je suis confronté dans MVC2 avec la séparation des contrôleurs et des modèles dans des bibliothèques de classes différentes

Y at-il des configurations que je dois faire?

+0

Bon maintenant j'ai ajouté la référence du projet Modèles dans mon projet de vues. et maintenant je peux créer des vues fortement typées. mais cela soulève une petite question. Dois-je vraiment besoin d'ajouter la référence des modèles dans mon projet View.Wont-il violer la séparation de préoccupation qui est le cœur et l'âme de mvc? Mon point de vue ne devrait rien savoir sur le modèle droit? conserver mes ViewModels? Dans le même projet ou dans un autre projet? Merci pour votre soutien. – user492911

+0

Personnellement, je ne vois pas l'avantage d'avoir vos contrôleurs dans un projet différent, pourquoi ne peuvent-ils pas vivre dans le projet web? Ils sont purement une préoccupation Web. Le modèle en revanche je mets toujours dans un projet séparé. – UpTheCreek

Répondre

0

Maintenant, vous faites un clic droit sur le dossier des contrôleurs et appuyez sur le bouton Ajouter une classe et écrire une classe dérivée de Controller. En ce qui concerne les vues, sauf si vous implémentez un moteur de vue personnalisé, elles doivent résider dans l'application Web.

+0

Mais comme je l'ai expliqué ... je veux certainement utiliser des modèles t4. parce que je les personnalise ... Maintenant je peux créer un contrôleur En gardant ces dossiers ie contrôleur qui ont été créés par défaut mais ce ne sera pas une bonne pratique ... Je peux simplement créer des classes dans la bibliothèque de contrôleur dérivant du contrôleur mais je ne veux pas fais ça ... – user492911

1

Ai-je vraiment besoin d'ajouter la référence des modèles dans mon projet View.

Nope.

Ne viole-t-il pas la séparation d'inquiétude qui est le coeur et âme de mvc?

Yup.

Mon avis ne devrait rien savoir sur le modèle, n'est-ce pas?

Correct. Idéalement, votre vue devrait être au courant de ViewModels mais pas du modèle. Je sais que cela ressemble à couper les cheveux, mais c'est comme ça :)

Vos vues doivent connaître vos ViewModels. Vos contrôleurs doivent connaître le modèle et les ViewModels. Votre Modèle ne doit en être conscient. Considérez votre modèle comme votre «logique métier» totalement indépendante de votre application Web.

J'ai un billet de blog qui explique cela plus en détail. Jetez un oeil à la section "Modèle 2: MVC pour le web".

http://hectorcorrea.com/Blog/The-Model-View-Controller-is-dead-long-live-the-Model-View-Controller.aspx

+0

Merci pour l'info ... mais ma question reste la même .... Si j'utilise un autre projet de bibliothèque de classes pour contenir mes contrôleurs alors comment vais-je créer des contrôleurs. auparavant, je l'utilise pour faire un clic droit sur le dossier des contrôleurs, puis appuyez sur Ajouter un contrôleur? Je veux utiliser t4 modèles – user492911

+0

Je n'ai aucune expérience avec les modèles T4 donc je ne peux pas commenter sur ce point. Cependant, comme UpTheCreek a commenté le message original, je me demande pourquoi vous ne laissez pas les contrôleurs sur le projet web. –