Quelle est la différence entre une vue et une vue partielle dans ASP.NET MVC?
À première vue, la nécessité des deux me semble non évidente.
En théorie, la réponse est: Une vue partielle est une "sous-vue" que vous intégrez dans une vue principale - quelque chose que vous pourriez réutiliser sur plusieurs vues, comme une barre latérale.
En pratique, la réponse est: Très peu.
En théorie, les vues partielles sont plus légères que les vues standard, mais il est tout à fait correct de passer une vue "régulière" à RenderPartial
et les performances semblent être exactement les mêmes. J'utilise fréquemment des vues .aspx régulières comme vues "partielles" car vous pouvez les faire référencer une vue principale afin de fournir un contenu basé sur des modèles comme ce que vous pouvez faire avec UserControls dans ASP.NET WebForms. Voir ici .
Les vues partielles sont plus comme des composants WebPart sur un portail - ce sont des objets complètement autonomes. Utilisez-les si la mise en page est simple et statique, ou si vous êtes ennuyé par les erreurs Intellisense lorsque vous n'avez pas le <html>
et <body>
balises dans une vue standard.
Cela fonctionne comme ça:
return View () le contenu de la vue va dans le @RenderBody () du /Shared/_Layout.cshtml
return PartialView () il ne renvoie que le contenu de la vue
Les vues sont le résultat général d'une page qui se traduit par un affichage. C'est le conteneur de plus haut niveau, sauf la page maître. Alors qu'une vue partielle est pour un petit morceau de contenu qui peut être réutilisé sur différentes pages, ou plusieurs fois dans une page.
Si vous venez de formulaires Web, la vue est similaire à un formulaire de contenu Web, tandis qu'une vue partielle est comme un contrôle utilisateur.
Si vous venez d'un arrière-plan de formulaires Web, considérez PartialView comme un contrôle utilisateur.
Regardez le site StackOverflow.com: Le site principal (View) contient des composants comme:
Ainsi, les tags, associés, annonces, etc. peuvent être composés en tant que vues partielles. L'avantage de ceci est que PartialViews peut être simplement mis en cache par OutputCache au lieu de recréer tout le site: gain de performances.
Considérez une vue partielle comme un contrôle dans les formulaires Web, l'idée est que le partiel est réutilisable