2011-07-20 4 views
3

En regardant la dernière version du moteur de vue Razor avec des pages Web ASP.NET, cela semble bien parce qu'il a le support complet de Razor. Est-ce que quelqu'un peut me donner un raisonnement pourquoi je pourrais vouloir choisir des pages Web d'ASP.NET avec le moteur de vue de rasoir au-dessus des formes Web traditionnelles, ou son compagnon de moteur de vue de rasoir dans ASP.NET MVC?Pages Web ASP.NET avec Razor sur les vues ASP.NET MVC Razor

par pages web, je parle de ce nouveau cadre de site Web disponible avec VS 2010 SP 1: http://www.asp.net/webmatrix/tutorials/2-introduction-to-asp-net-web-programming-using-the-razor-syntax

Merci.

Répondre

2

[Modifié pour répondre à la question posée dans le titre]

En tant que développeur expérimenté, vous pouvez utiliser le cadre des pages Web lorsque vous voulez faire quelque chose rapidement (POC, par exemple), ou si vous voulez apprendre à quelqu'un comment démarrer avec ASP.NET, peut-être.

Vous posez deux questions distinctes ici: Web Forms View Engine vs Razor View Engine dans MVC, et Web Pages Framework vs Web Forms Framework.

Comme d'autres l'ont dit, la première décision sera de préférence. Ni l'un ni l'autre ne fait quoi que ce soit. C'est un peu comme le débat C# ou VB.

Le framework Pages Web est destiné à fournir un "in" plus facile aux débutants que Web Forms ou MVC. Il peut être considéré comme un remplacement très tardif pour le cadre ASP classique beaucoup plus facile et il est en concurrence avec PHP à cet égard. Si vous avez besoin de séparation, de testabilité, etc., vous devriez vous tourner vers le framework MVC. Le framework Pages Web n'offre pas grand-chose en termes d'approches de développement d'entreprise. sont utilisés pour les formulaires Web, il est peu probable que vous tiriez quelque chose des pages Web. La séparation est beaucoup plus difficile. Cela n'encourage pas la superposition de code ou de tests. Aucun contrôle serveur ou fichiers code-behind. Et les pages Web n'offrent que le déploiement du site Web (compiler en première exécution) par opposition à l'application Web qui peut être pré-compilée.

Razor lui-même a été développé pour le framework Pages Web. MVC l'a aimé et l'a utilisé comme une nouvelle option de moteur de vue. Mais essentiellement, vous avez le choix entre trois frameworks ASP.NET: Web Pages, Web Forms et MVC.

+0

Je ne pose pas deux questions distinctes, je demande à Web Pages Framework avec moteur de vue Razor vs MVC + Razor View Engine. –

+0

Votre question concerne les formulaires Web. Vous ne pouvez pas utiliser Razor avec Web Forms. –

+0

OK, donc c'est une faute de frappe, mais le titre l'indique tout. –

3

Le balisage dans le rasoir est beaucoup plus lisible. Lorsque vous avez un produit qui utilise déjà le moteur de vue des formulaires Web, vous pouvez exécuter le rasoir côte à côte avec lui pendant la transition vers les vues rasoir, ce qui peut représenter beaucoup de travail dans des projets de taille moyenne à grande. Gardez à l'esprit que pendant cette transition, les partiels peuvent être des formulaires rasoirs ou Web, mais une vue et la page maquette utilisée doivent utiliser le même moteur.

+0

Merci pour le rappel sur le maître et le formulaire Web en utilisant le même moteur - je n'ai pas encore rencontré cela, mais je me demandais ... :) – GalacticCowboy

+0

Oui, je suis d'accord, je demande dans le contexte de la nouveau framework de pages web ASP.NET avec Razor, où les formulaires web ont la syntaxe du rasoir ... mais apparemment il n'y a pas de code-behind. –

1

Les principales raisons de choisir Razor:

  • Terse - La structure HTML de votre page est évident, et n'a pas beaucoup de <% et %> partout. (J'aime le HTML propre, il chatouille mon OCD ...)
  • Fluent - Transitions simples entre le code côté serveur et le code HTML sans vous forcer à changer de contexte explicitement.
+0

Je suis d'accord avec vos arguments. Mais maintenant que ASP.Les pages Web NET (pas les formulaires Web) ont une syntaxe de rasoir, utiliseriez-vous cela sur l'implémentation de MVC? –

+2

Désolé, je n'avais pas réalisé que c'était la question. C'est vraiment une question "WebForms" vs "MVC" puisque le moteur de vue n'est qu'une petite partie de l'équation totale. Ma préférence personnelle est pour MVC, même si cela n'a vraiment rien à voir avec Razor. – GalacticCowboy