Quelle est la différence entre une vue et une vue partielle dans ASP.NET MVC?

Quelle est la différence entre une vue et une vue partielle dans ASP.NET MVC?

À première vue, le besoin des deux ne me semble pas évident.

32
demandé sur Ben 2010-01-11 20:02:44

6 réponses

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 pouvez 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 parfaitement correct de passer une vue "régulière" à RenderPartial et la performance semble être exactement la même. J'utilise fréquemment régulièrement .vues aspx comme vues "partielles" parce que vous peut les faire référencer une vue principale afin de fournir du contenu modélisé comme ce que vous pouvez faire avec UserControls dans ASP.NET WebForms. Voir ici.

Les vues partielles ressemblent plus à des parties web 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 les balises <html> et <body> dans une vue standard.

38
répondu Aaronaught 2010-01-11 17:28:25

Cela fonctionne comme ça:

  • Return View () le contenu de la vue va dans le @RenderBody () de / Shared / _Layout.cshtml

  • Return PartialView () il renvoie uniquement le contenu de la vue

9
répondu ThiagoVBDiniz 2017-02-01 14:37:09

Si vous venez d'un arrière-plan webforms, pensez à PartialView comme un usercontrol.

3
répondu LiamB 2010-01-11 17:09:04

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 principale. 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 webforms, view est similaire à un formulaire de contenu web, tandis qu'une vue partielle est comme un contrôle utilisateur.

3
répondu Tim Hoolihan 2010-01-11 17:09:33

Regardez StackOverflow.com site: Le site principal (Vue) contient des composants tels que:

  • Balises
  • connexes
  • Ad

Donc Tags, connexes, Ad etc. peut être composé en tant que PartialViews. L'avantage, c'est que PartialViews peut être simplement mis en cache par OutputCache au lieu de recréer tout site: gain de performance.

3
répondu Dariusz 2010-01-12 10:23:33

Considérons un partialview comme un contrôle dans webforms, l'idée est que le partiel est réutilisable

2
répondu Israfel 2010-01-11 17:08:53