2008-09-03 5 views
8

Ich weiß, dass Sie mehrere unterschiedliche Ansicht Motoren mit ASP.NET MVC verwenden können:Welche View Engine verwenden Sie mit ASP.NET MVC?

  • ASPX, offensichtlich
  • NVelocity
  • Brail
  • NHaml
  • et al ...

Die ASPX-Standardansicht scheint mir am sinnvollsten zu sein, da sie aus einem ASP.NET-WebForms-Hintergrund stammt.

Aber ich wollte eine Vorstellung von den Vor- und Nachteilen von jedem bekommen und sehen, was die meisten Leute benutzen.

Welchen Nutzen hat StackOverflow?

Antwort

2

Die meisten Menschen auf dem Planeten verwenden nur ASPX, weil sie das wissen. Ein weiterer großer Vorteil ist die kompilierte Natur ... damit Sie nicht nur Typ-Sicherheit und Intellisense erhalten, sondern auch den Perf-Vorteil.

Der Nachteil, den ich sehe, ist, dass es so flippin 'verbose ist. Ich konvertierte eine App zu NVelocity und war erstaunt, wie sauber es aussah. Das Problem ist, dass es viele Dinge gab, die mit NVelocity nicht funktionierten (wie Ihre eigenen benutzerdefinierten Ansichtshelfer), und es mangelte an Dokumentation.

Ich habe eine Funktion zu MvcContrib hinzugefügt, wo Sie Ihre eigenen HtmlExtension-Typen registrieren können, aber es ist eher ein Bandaid, bis eine bessere Lösung herauskommt.

4

NHaml ist mein Favorit für seine Kürze. Die Leute lieben es oder hassen es, da es sich sehr von einem traditionellen "HTML mit eingefügtem Code" Template-System wie ASPX oder NVelocity unterscheidet.

Edit:

@ Ben,

Es gibt andere Ansicht Motoren, die kompilieren nach unten (NHaml eins ist), so dass diejenigen, tun benutzerdefinierte HTML-Helfer unterstützen. Ich wäre nicht überrascht zu sehen, dass die aktuell interpretierten View-Engines schließlich mit einem Kompilierungsmodell enden.

11

Ich verwende Spark. Es hat einen schönen Fluss zwischen HTML und Code. Scott Hanselman hat auch einen mit seinen wöchentlichen Quellcode-Review-Posts gemacht. Ich grabe es wirklich sehr. Eines der wichtigsten Features ist pre-compilation Ihrer Ansichten.

4

"Was verwendet StackOverflow?"

Webformulare.

Ich fragte Jeff Atwood über seine Entscheidung auf seinem Tag Soup Beitrag. Er antwortete nicht - ich denke, er war damit beschäftigt, einen fehlenden schließenden Tag zu jagen ;-)

1

Ich habe NVelocity in der Vergangenheit benutzt. Zum größten Teil macht es den Code wirklich sauber und einfach zu folgen; Normalerweise sind es jedoch nur einige ViewData-Variablen, die vorher von XSLT-Dateien gefüllt wurden. Ich denke also, meine View Engine wäre sowohl XSLT (was eine Liebe/Hass-Sache ist - Extension-Methoden machen es wirklich nützlich) als auch NVelocity.

0

Ich habe NVelocity mit MonoRail seit einiger Zeit benutzt, aber bin kürzlich zu Spark für Asp.Net MVC und MonoRail gewechselt. Die Syntax erscheint mir sehr natürlich, aber ich denke, das ist zu erwarten. ;)

Verwandte Themen