2017-08-18 1 views
5

Est-ce une bonne idée de mélanger Razor Pages avec Razor Views dans la même application ASP.NET Core 2.0? Si je comprends bien, l'avantage d'utiliser Razor Pages est qu'ils n'ont pas besoin d'actions du contrôleur. Dans mon application, j'ai quelques pages qui retournent simplement une application React. Je pense que Razor Pages sont parfaits pour cela parce que tout ce dont j'ai besoin dans la page est juste un lien vers le fichier bundle.js. Cela dit, j'ai quelques pages où j'ai besoin d'un contrôleur et d'envoyer un modèle de vue.Pages Razor et vues rasoir

Alors, est-ce une bonne idée d'avoir à la fois des pages et des vues ou devrais-je m'en tenir à un et ne pas le mélanger?

+0

Vous pouvez absolument les mélanger. Si c'est une bonne idée qui dépend de vous, mais la façon dont vous décrivez votre application, il semble que les deux aient du sens. Alors choisissez simplement ce qui a du sens pour vous. – poke

Répondre

5

lu récemment sur les pages de rasoir à docs et Rick Anderson (membre de l'équipe ASP.Core) a déclaré que:

Vous pouvez mélanger des contrôleurs, des vues et des pages Razor. RP est unité testable (en utilisant le code-behind). C'est une bonne question. Voir https://github.com/aspnet/Mvc/issues/494#issuecomment-232534742 pour motivation.

Vous pouvez donc mélanger. Le seul petit problème, à mon avis, que j'ai lu des documents que:

Remarque: La mise en page est dans le dossier Pages. Pages rechercher d'autres vues (mises en page, modèles, partiels) hiérarchiquement, en commençant dans le même dossier que la page en cours. Cela signifie qu'une mise en page dans le dossier Pages peut être utilisée à partir de n'importe quelle page Razor sous le dossier Pages.

Ce qui signifie que vous ne pouvez pas utiliser les mêmes mises en page, des modèles, partials à la fois pour Razor page et affichage de la boîte, sans modifier les conventions ASP ou écrire une solution personnalisée à utiliser les mêmes mises en page, des modèles, partials aussi bien pour Rasoir et vue. Sinon, mélangez-les a l'air parfaitement bien.

+0

Vous pouvez simplement spécifier le chemin d'accès complet à ces éléments si vous souhaitez partager une mise en page entre Razor Pages et Razor Views. Cela vaut peut-être mieux que de rechercher automatiquement à la fois la hiérarchie Views et la hiérarchie Pages. Après tout, vous ne voudrez peut-être pas les partager et si c'est automatique, vous êtes coincé. – GlennSills