2009-08-15 17 views
1

Im développe actuellement une application avec deux projets web (MVC):projets web multiples, (presque) même mise en page dans Visual Studio

  • frontend
  • Backend

Ces deux vont avoir presque la même mise en page (quelques changements mineurs). J'ai donc pensé à créer une MasterPage, ils peuvent partager. Mais puisque ce sont deux projets dans deux endroits différents, où devrais-je mettre la page, les images et le javascript?

Les images et javascript (statiques), pourraient être placés sur un CDN.

Mais que pensez-vous du contenu spécifique à ASP.NET? Aucune suggestion? Toute aide appréciée!

Répondre

1

Un MasterPage est un UserControl sous le capot, donc toute méthode de partage UserControls fonctionnerait pour MasterPages. Malheureusement, ce n'est pas une si bonne expérience dans ASP.NET que le BuildManager (ce qui compile et connecte les chemins d'accès aux classes pendant la compilation) ne reconnaît que les fichiers de processus dans le projet en cours.

Le partage de code ou de classes de base est facile et fonctionne bien. C'est la surface de conception (.master, .ascx, .aspx) qui n'a pas beaucoup de capacité à être partagée. Vous pouvez utiliser un projet de déploiement pour compiler un projet d'application Web dans un assemblage pouvant être référencé, mais vous aurez toujours besoin de certains fichiers de conception dans votre projet actuel.

Cela pourrait aussi être utile:

0

Il est possible d'inclure un fichier existant d'un autre projet dans un nouveau projet. Vous pouvez le faire. Il suffit donc de le mettre dans un projet et de l'inclure dans l'autre.

Vous pouvez également créer une bibliothèque 'core' et y ajouter des éléments, mais cela ne fonctionne pas bien avec les contrôles et ainsi de suite. Je vous recommande donc la première approche.

+0

Vous pouvez? Comment? Mais cela n'aime pas la meilleure solution pour moi, puisque la page est placée dans l'un des projets, non séparé de chacun des projets. Peut-être que le projet «de base» est la voie à suivre. Hmm. – Kordonme