Question

Tout le monde là-bas en utilisant les nouvelles pages CSHTML caractéristique et est de trouver qu'ils préfèrent cette nouvelle syntaxe du moteur de vue sur le moteur existant de vue par défaut ASP.NET MVC ou sur des formulaires Web, et si oui, pourquoi? Qu'en est-il CSHTML vous donne un avantage sur les formes MVC ou Web, ou vice-versa?

Juste curieux d'entendre prendre des gens là-dessus.

Était-ce utile?

La solution

L'un des avantages est que les vues de rasoir peuvent être rendus à l'intérieur des tests unitaires, c'est quelque chose qui n'a pas été facilement possible avec le précédent moteur de rendu ASP.Net.

De l'annonce ScottGu ceci est répertorié comme l'un des objectifs de conception:

  

testable: La nouvelle implémentation du moteur vue soutiendra la capacité de vues de tests unitaires (sans nécessiter un contrôleur ou serveur web, et peut être hébergé dans tout projet de test unitaire - pas app- spéciale domaine requis).

Autres conseils

Avis Ex Microsoft Developer

Je travaille sur une équipe de base pour le site MSDN. Maintenant, j'utilise c # rasoir pour les sites e-commerce avec mon équipe de programmation et nous nous concentrons lourd sur la fin de l'avant jQuery avec dorsaux c # pages de rasoir et la base de données de mémoire LINQ Entité de sorte que les pages sont 1-2 milliseconde temps de réponse même imbriqués pour les boucles avec des requêtes et aucune page mise en cache. Nous n'utilisons MVC, ASP.NET tout simplement avec des pages de rasoir étant mis en correspondance avec le module URL Rewrite pour IIS 7, aucune page ASPX ou ViewState ou la programmation d'événements côté serveur du tout. Il ne possède pas les couches supplémentaires (inutiles) MVC met en constructions de code pour l'expression rationnelle contestée. Moins est plus pour nous. Son tout maigre et moyenne mais je donne des accessoires pour MVC pour son testabilité mais c'est tout.

pages Razor ont pas du cycle de vie des événements comme les pages ASPX. Il est juste rendu comme une page demandée. C # est une grande langue et Razor sort de sa façon bien à le laisser faire son travail. Le typage anonyme avec les génériques et LINQ rendent la vie si facile avec c # et pages de rasoir. En utilisant les pages de rasoir vous aidera à penser et le code plus léger.

L'un des inconvénients de rasoir et MVC est il n'y a pas ViewState comme la persistance. Je avais besoin de mettre en œuvre une solution pour cela donc je fini par écrire un plugin jQuery pour que ici -> http: // www. jasonsebring.com/dumbFormState qui est un HTML 5 stockage hors ligne pris en charge plug-in pour l'état de forme qui fonctionne dans tous les principaux navigateurs maintenant. Il est juste pour l'état de forme actuellement mais vous pouvez utiliser window.sessionStorage ou window.localStorage très simplement pour stocker toute sorte d'état dans postbacks ou même les demandes de page, je viens pris la peine de le faire Autosave et l'espace, il basé sur l'URL et l'index de formulaire afin vous ne devez pas penser à ce sujet.

  1. Tout est codé par défaut !!! Ceci est assez énorme.

  2. Aides déclaratives peuvent être compilés de sorte que vous n'avez pas besoin de faire quelque chose de spécial pour les partager. Je pense qu'ils vont remplacer les contrôles .ascx dans une certaine mesure. Vous devez sauter à travers quelques cerceaux pour utiliser un contrôle .ascx dans un autre projet.

  3. Vous pouvez faire une section nécessaire, ce qui est agréable.

Le plus grand avantage est que le code est plus succinct. L'éditeur VS aura également le soutien IntelliSense que certains des autres moteurs de vue n'ont pas.

déclarative HTML Helpers Regardez aussi assez cool que faire des aides HTML du code C # me rappelle des contrôles personnalisés dans ASP.NET. Je pense qu'ils ont une page de partials mais avec le code en ligne.

Alors certains avantages certains sur le moteur de vue asp.net.

Contrairement à un moteur de vue comme si étincelle:

Spark est encore plus succinct, vous pouvez garder le cas de boucles et dans une balise HTML lui-même. Le balisage se sent encore un peu plus naturel pour moi.

Vous pouvez coder exactement comment vous partials feriez une aide déclarative, vous venait de transmettre les variables à la partie et vous avez la même chose. Cela a été autour d'étincelle pendant un certain temps.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top