8 Stimmen

Welchen Ansichtsmotor verwenden Sie mit ASP.NET MVC?

Ich weiß, dass Sie mehrere verschiedene Ansichts-Engines mit ASP.NET MVC verwenden können:

  • ASPX, offensichtlich
  • NVelocity
  • Brail
  • NHaml
  • usw...

Der Standard-ASPX-Ansichts-Engine scheint mir am sinnvollsten zu sein, da ich aus einem ASP.NET WebForms-Hintergrund komme.

Aber ich wollte eine Vorstellung von den Vor- und Nachteilen jeder erhalten und sehen, was die meisten Leute verwenden.

Welche verwendet StackOverflow?

11voto

Dale Ragan Punkte 18091

Ich benutze Spark. Es hat einen schönen Fluss zwischen HTML und Code. Scott Hanselman hat auch einen Beitrag dazu in seinen wöchentlichen Source-Code-Review-Beiträgen gemacht. Ich mag es wirklich sehr. Eines der Hauptmerkmale ist die Vorkompilierung Ihrer Ansichten.

4voto

Brad Wilson Punkte 64944

NHaml ist mein Favorit wegen seiner Kürze. Die Leute lieben es entweder oder hassen es, da es sehr unterschiedlich aussieht im Vergleich zu einem traditionellen "HTML mit eingefügtem Code" Template-System wie ASPX oder NVelocity.

Bearbeiten:

@Ben,

Es gibt auch andere View-Engines, die sich in NHaml (eine davon) kompilieren lassen, also unterstützen diese benutzerdefinierte HTML-Helfer. Es würde mich nicht überraschen, wenn alle gegenwärtig interpretierten View-Engines letztendlich mit einem Kompilierungsmodell enden würden.

4voto

Andrew Peters Punkte 10867

"Welches verwendet StackOverflow?"

Web Forms.

Ich fragte Jeff Atwood nach seiner Entscheidung in seinem Tag-Suppen-Beitrag. Er antwortete nicht - ich glaube, er war damit beschäftigt, ein fehlendes Schließtag zu suchen ;-)

4voto

John Rutherford Punkte 10674

Microsoft hat kürzlich einen neuen Ansichtsmotor angekündigt: Razor.

Sieht ziemlich interessant aus: http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx

2voto

Ben Scheirman Punkte 39742

Die meisten Menschen auf dem Planeten werden ASPX verwenden, weil sie das kennen. Ein weiterer ausgezeichneter Vorteil ist die kompilierte Natur... so bekommen Sie nicht nur Typsicherheit und Intellisense, sondern auch den Leistungsbonus.

Der Nachteil, den ich sehe, ist, dass es so verdammt ausführlich ist. Ich habe eine App zu NVelocity konvertiert und war erstaunt, wie sauber es aussah. Das Problem ist, dass es viele Dinge gab, die mit NVelocity nicht funktionierten (wie Ihre eigenen benutzerdefinierten View-Helfer) und es gab einen schwerwiegenden Mangel an Dokumentation.

Ich habe eine Funktion zu MvcContrib hinzugefügt, mit der Sie Ihre eigenen HtmlExtension-Typen registrieren können, aber es ist eher ein Pflaster, bis eine bessere Lösung gefunden wird.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X