2009-10-07 10 views
21

Quelle est la meilleure façon de partager une vue partielle commune entre des applications? J'ai créé un assembly séparé contenant ma vue partielle dans un fichier ASCX, quelques scripts qui vont avec cette vue et une méthode d'extension HtmlHelper pour faciliter la création de la vue partielle. Toutefois, lors de la référence de cet assembly à partir d'une application ASP.NET MVC, il ne peut pas trouver la vue partielle car le fichier ascx n'est pas copié également. Aussi, quelle est la meilleure façon d'inclure les scripts attachés à l'application? La seule façon que je peux voir en ce moment est de copier les fichiers pertinents dans la nouvelle application.Partage de vues partielles ASP.NET MVC entre projets

Répondre

7

Une belle question en effet. Je suggère d'éviter les fichiers ASCX et de générer du code HTML manuellement dans vos aides HTML. La classe TagBuilder apporte beaucoup d'aide ici.

2

Ce problème persiste même avec WebForms. Partager ce genre de choses n'est pas facile.

Mon approche préférée est maintenant de créer mes contrôles en tant que mvc WebControls ou en tant que plugins jQuery. De cette façon, je peux passer autour d'une DLL ou un fichier de script versionné. Je m'appuie beaucoup sur les solutions WebControls car, comme je l'ai dit, je peux le mettre en version et le mettre dans l'infrastructure de l'entreprise. Je puis (seulement) utiliser des vues partielles pour rendre les webcontrols et ajouter un peu de flair, de balisage ou de contenu de base.

4

This post explique comment incorporer une vue dans une DLL et la restituer à partir d'un autre projet. Je suppose que ça marchera aussi pour les partiels, mais je ne l'ai pas essayé.

0

Notre approche avec WebForms a consisté à créer un répertoire virtuel IIS pour les contrôles utilisateur partagés. Cette approche fonctionne-t-elle avec MVC?

Questions connexes