4 Stimmen

Ist Razor ein Rückschritt?

Ich brauche etwas Überzeugungsarbeit bezüglich des Razor View Engine.

Soweit ich das beurteilen kann, hat Microsoft einfach wieder Inline-Code in das Markup eingeführt; wurden Code-Behind-Seiten nicht ursprünglich eingeführt, um dies zu beseitigen?

Ich nehme an (und hoffe), dass mir etwas entgeht :)

13voto

Muhammad Hasan Khan Punkte 33714

Razor ist nicht dafür gedacht, Ihre Geschäftslogik in Ihrer Ansicht zu schreiben. Razor dient dazu, über das Modell zu iterieren und es in HTML umzuwandeln. Ihre Geschäftslogik befindet sich im Controller, außerdem haben Sie im WebForms-View-Engine dasselbe Schleifen nur mit einer ausführlicheren Syntax gemacht. Razor hat eine sauberere Syntax. Es bringt nichts anderes mit sich.

2voto

Steve Punkte 2881

Rasiermesser wird am besten mit MVC verwendet. Ja, es führt Inline-Code wieder ein. Aber es geht um die Trennung von Code.

Ihr Razormessercode sollte keine Logik enthalten. Es sollte wirklich nur verwendet werden, um Ihre Daten auf einer Seite anzuzeigen (kleine Mengen von Logik z.B. Wenn Daten = Wahr Dann sollte dieser Abschnitt, sind jedoch in Ordnung)

Aber alle Geschäftslogik befindet sich immer noch in Ihrem Controller/Codebehind

2voto

Mikael Östberg Punkte 16703

Ich denke, du solltest zuerst ASP.NET MVC in Betracht ziehen. Es sollten keine Code-Behinds vorhanden sein (oder sein).

Vergleiche dann die Web Forms-View-Engine mit der Razor-View-Engine. Das sollte dir helfen.

2voto

Razor geht darum, die Seite lesbarer zu machen, indem man sperrige <% %> loswird und es ermöglicht, eigene Rendermethoden durch Delegaten zu erstellen.

Wenn überhaupt, indem es Ihnen ordentliche Abkürzungen bietet, um mit gut vorbereiteten Daten umzugehen, ermöglicht es Ihnen, dass Ihre Ansichten eher wie HTML aussehen, und ermutigt Sie dazu, nicht zu viel Inline-Code zur Datenverarbeitung einzusetzen.

Alles, was in einer Ansicht gemacht wird, sollte mit dem Rendern zusammenhängen, egal ob es sich um Razor-Syntax handelt oder nicht.

Wie andere Antworten bereits anmerken, werfen Sie einen Blick auf die Struktur einer MVC-Anwendung, alle Datenverarbeitung sollte bereits erledigt sein, wenn es darum geht, eine Ansicht zu rendern.

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