Frage

Jeder da draußen, die neuen CSHTML Seiten mithilfe der Funktion und wird festgestellt, dass sie es vorziehen, diese neue Ansicht-Engine Syntax über den bestehenden ASP.NET MVC Standard-Ansicht-Engine oder über Web-Formulare, und wenn ja, warum? Was ist CSHTML gibt Ihnen einen Vorteil gegenüber MVC oder Web-Formulare, oder umgekehrt?

Nur neugierig Menschen nehmen auf sie zu hören.

War es hilfreich?

Lösung

Einer der Vorteile ist, dass Razor Ansichten können innerhalb von Unit-Tests gemacht werden, dies ist etwas, das nicht ohne weiteres möglich, mit dem vorherigen ASP.Net-Renderer wurde.

ScottGu Ankündigung diese aufgelistet als eines der Entwurfsziele:

  

Einheit Prüfbar: Die neue Ansicht Motor Implementierung wird die Fähigkeit, Unit-Test-Ansichten unterstützen (ohne einen Controller oder Web-Server erforderlich ist, und kann in jedem Unit-Test-Projekt gehostet werden - keine spezielles app- Domain erforderlich).

Andere Tipps

Ex Microsoft Developer Vermerk

arbeitete ich an einem Kernteam für die MSDN-Website. Nun verwende ich c # Rasierer für E-Commerce-Sites mit meinem Programmierer-Team und wir konzentrieren wir stark auf jQuery Front mit Back-End-c # Rasierapparat Seiten und LINQ-Entity Memory-Datenbank, so dass die Seiten 1-2 Millisekunden Reaktionszeiten auch auf mit Abfragen für Schleifen verschachtelt und keine Seiten-Caching. Wir verwenden keine MVC, einfach nur ASP.NET mit rasiermesser Seiten mit URL Rewrite Modul für IIS 7 abgebildet werden, keine ASPX-Seiten oder Viewstate oder serverseitige Event-Programmierung überhaupt. Es hat nicht den extra (unnötig) Schichten MVC puts in Code-Konstrukten für die regex in Frage gestellt. Weniger ist mehr für uns. Sein ganz schlank und gemein, aber ich gebe Requisiten MVC für seine Prüfbarkeit aber das ist alles.

Razor Seiten haben kein Ereignis Lebenszyklus wie ASPX-Seiten. Es ist einfach zu machen wie eine angeforderte Seite. C # ist eine so große Sprache und Razor wird schön von seinem Ausweg zu lassen, seine Arbeit zu tun. Die anonyme Eingabe mit Generika und Linq macht das Leben so einfach, mit c # und gestochen Seiten. Razor Seiten wird dazu beitragen, Sie denken und Code leichter.

Einer der Nachteil von Razor und MVC gibt es keine Viewstate-ähnliche Beharrlichkeit ist. Ich brauchte eine Lösung dafür zu implementieren, damit ich für das hier ein jQuery-Plugin schreiben gelandet -> http: // www. jasonsebring.com/dumbFormState , die ein HTML 5 offline-Speicher-Plugin für Formularstatus unterstützt, die jetzt in allen gängigen Browsern funktionieren. Es ist nur für Formularzustand zur Zeit, aber Sie können window.sessionStorage oder window.localStorage verwenden sehr einfach über Postbacks oder sogar Seitenanforderungen, jede Art von Zustand zu speichern, ich kann es nur die Mühe zu machen, automatisch speichern und es basiert auf URL und Form Index Namespace so Sie nicht darüber nachdenken.

  1. Alles ist standardmäßig verschlüsselt !!! Das ist ziemlich groß.

  2. können deklarative Helfer zusammengestellt werden, so brauchen Sie nicht etwas Besonderes zu tun, um sie zu teilen. Ich denke, sie werden .ascx Kontrollen zu einem gewissen Grad ersetzen. Sie haben durch einige Reifen springen eine ASCX Kontrolle in einem anderen Projekt zu verwenden.

  3. Sie können einen Schnitt machen erforderlich, was schön ist.

Der größte Vorteil ist, dass der Code prägnanter ist. Der VS-Editor wird auch die IntelliSense-Unterstützung haben, dass einige der anderen Ansicht Motoren nicht haben.

deklarative HTML-Helfer auch ziemlich cool aussehen als HTML-Helfer tun in C # -Code erinnert mich an benutzerdefinierte Steuerelemente in ASP.NET. Ich denke, dass sie eine Seite aus partials nahmen aber mit dem Inline-Code.

So einige bestimmte Vorteile gegenüber der asp.net-Ansicht-Engine.

Mit Gegensatz zu einer Ansicht Motor wie Funke aber:

Spark ist noch knapper, man kann das halten, wenn die Schleifen und innerhalb eines HTML-Tag selbst. Das Markup immer noch fühlt sich einfach mehr natürlich für mich.

Sie können Code partials genau, wie Sie würde einen deklarativen Helfer tun, werden Sie entlang der Variablen auf die teilweise nur passieren, und Sie haben die gleiche Sache. Das war schon eine ganze Weile mit Funken um.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top