web-dev-qa-db-fra.com

Quelle est la différence entre Razor et ASPX?

Existe-t-il une différence entre Razor et ASPX dans un projet MVC?

Est-ce juste une question de syntaxe? C'est ce que je pense après en lisant ceci ... Est-ce que je me trompe?

35
BrunoLM

Je suppose que cela se résume à cela, oui.

Comme vous pouvez le constater à partir des exemples de l'article, la syntaxe est très légère et l'interpréteur est plutôt "intelligent".

Vous pouvez le comparer au moteur de visualisation par étincelle et voir les différences entre les trois.

15
Oded

Tout se résume à syntaxe dans votre page Web vue , mais ASPX et Razor sont des moteurs de vue assez différents. Razor ne dépend pas du même pipeline qu'ASPX. Pour cette raison, je considérerais Razor comme un simple moteur d'analyse.

L’un des avantages de cela est qu’un analyseur Razor peut être exécuté sur n’importe quelle chaîne, où aspx a besoin d’un httpcontext et d’autres éléments très lourds.

23
Alan Jackson

razor prend en charge le développement piloté par les tests ..... alors que dans le moteur Web, la classe de pages system.web.ui . ne prend pas en charge TDD. Le développement piloté par les tests signifie que le code doit être testé avant de l'écrire. 

5
firefly

Razor est un moteur d'affichage alternatif pour les applications Asp.net MVC et est implémenté avec un code totalement différent de celui de .aspx. C'est comme la différence entre JSP et Velocity dans une application Web Java MVC.

3
Sean Reilly
  1. Par défaut, Razor Engine empêche les attaques XSS (attaques de type "Cross-Site Scripting Attacks"), ce qui signifie qu'il code le script ou les balises HTML telles que <,> avant le rendu.
  2. Razor Engine prend en charge TDD (Test Driven Development) car il ne dépend pas de la classe System.Web.UI.Page.
2
Sandeep Shekhawat

À mon avis, je pense que Razor encourage Microsoft à rassembler tous les développeurs classiques ASP qu’ils ont laissés avec l’introduction de .NET. Le paradigme est très similaire à ASP, code côté serveur mêlé à côté client html/js. Un environnement propice, encore une fois, au dilemme du "code spaghetti". 

Mais pour les développeurs ASP de longue date, comme moi, c’était le chemin le plus direct vers une plate-forme prise en charge. Et je conserve le contrôle absolu du html/js auquel je suis habitué. 

Edit: BTW .... Je parle de Razor tel qu’utilisé en .cshtml. J'aurais probablement dû dire que .cshtml est en train de se balancer. 

0
Kirby L. Wallace