2009-07-20 5 views
4

est-il un répertoire particulier que je devrais mettre mon code dans un projet dans mvc asp.netasp.net-mvc où dois-je mettre mon propre code

i ont des extentions à la classe HtmlHelper. En ce moment je l'ai assis dans le dossier de contenu. est-ce correct? Y a-t-il un meilleur soluiton?

Répondre

14

Je crée généralement un ou plusieurs projets distincts pour mon propre code, y compris ma couche de données, en tant que bibliothèques de classes. Je référence ensuite les bibliothèques sur mon site web MVC.

+2

En effet - C'est ce que je ferais aussi. –

+0

+1 C'est la façon de le faire. –

+0

Vous préconisez de placer les extensions HtmlHelper dans une couche de données? –

4

Vous pouvez mettre du code où vous voulez, mais généralement vous voulez que les choses soient organisées. Voici comment je le fais:

2 assemblées

  • MyProject.Domain

il contient tout mon code de domaine; la logique métier et entités

  • MyProject.Web

celui-ci contient le code du contrôleur, des vues et des actifs tels que des images/css

Vos HtmlHelpers appartiennent au projet .Web parce qu'ils sont liés mvc (rien à faire avec le domaine). Vous voulez probablement un nouveau dossier appelé Helpers ou Extentions. C'est vraiment à vous, le point clé est de décider où quelque chose appartient et de l'espace de noms en conséquence

1

Si vous allez réutiliser les mêmes extensions HTMLHelper dans différents projets ASP.NET MVC, je suggère de les mettre dans une bibliothèque de classe qui est complètement séparée de votre projet.

2

Je suis d'accord avec ce que chacun d'autre a dit, voici comment un de mes solutions ressemblerait à ceci:

  1. 1- MyProject.WebUI
  2. 2- MyProject.DomainModel
  3. 3- MyProject.Test
  4. 4- MyProject.Extensions

Ce projet d'extensions est nouveau pour moi (en fait depuis que je connaissais e méthodes d'extension). Il conclut généralement des sous-dossiers décrivant l'utilisation des méthodes d'extension, pour votre cas particulier, le nom du dossier serait HtmlHelpers. Je référence alors ce projet (ou sa bibliothèque de sortie en utilisant ailleurs).
HTH

Questions connexes