wake-up-neo.com

Was ist der Unterschied zwischen Razor und ASPX?

Gibt es einen Unterschied zwischen Razor und ASPX in einem MVC-Projekt?

Geht es nur um Syntax? Das ist es, was ich denke, nachdem ich das hier gelesen habe ... Bin ich falsch?

35
BrunoLM

Ich denke, es läuft darauf hinaus, ja.

Wie Sie in den Beispielen in diesem Artikel sehen können, ist die Syntax sehr leicht und der Interpreter ist ziemlich "intelligent".

Sie können es mit der Funkenansicht-Engine vergleichen und die Unterschiede zwischen den dreien sehen.

15
Oded

Es läuft alles auf Syntax in Ihrer Webseite view ab, aber ASPX und Razor sind ziemlich unterschiedliche Ansichts-Engines. Razor ist nicht auf dieselbe Pipeline angewiesen wie ASPX. Aus diesem Grund würde ich Razor nur als Parsing-Engine betrachten.

Einer der Vorteile davon ist, dass Sie einen Razor-Parser gegen jede Zeichenfolge ausführen können, bei der aspx einen httpcontext und andere Heavyweight-Elemente benötigt.

23
Alan Jackson

rasierer unterstützen die testgetriebene Entwicklung ..... während in der Web-Engine die Systemklasse system.web.ui . TDD nicht unterstützt. Testgetriebene Entwicklung bedeutet, den Code auf eine Weise zu testen, bevor Sie ihn schreiben. 

5
firefly

Razor ist eine alternative Ansichts-Engine für Asp.net MVC-Apps und wird durch einen völlig anderen Code als .aspx implementiert. Es ist wie der Unterschied zwischen JSP und Velocity in einer Java MVC-Web-App.

3
Sean Reilly
  1. Standardmäßig verhindert die Razor Engine XSS-Angriffe (Cross-Site Scripting Attacks), dh sie codiert das Skript oder die HTML-Tags wie <,>, bevor sie gerendert werden.
  2. Razor Engine unterstützt TDD (Test Driven Development), da es nicht von der System.Web.UI.Page-Klasse abhängig ist.
2

Meiner Meinung nach ist Razor ein Microsoft, der herumschwingt, um alle klassischen ASP - Entwickler zu sammeln, die sie bei der Einführung von .NET zurückgelassen haben. Das Paradigma ist ASP sehr ähnlich, serverseitiger Code ist mit clientseitigem HTML/js vermischt. Eine Umgebung, die dem Dilemma "Spaghetti-Code" immer wieder förderlich ist. 

Für lange Zeit ASP - Entwickler, wie ich, war dies jedoch der direkteste Weg zu einer unterstützten Plattform. Und ich habe die absolute Kontrolle über die HTML/Js, an die ich gewöhnt bin. 

Edit: Übrigens ... Ich spreche von Razor, wie er in .cshtml verwendet wird. Ich hätte wahrscheinlich sagen sollen, dass .cshtml MS schwingt. 

0