ASP.NET MVC 3 Razor Vorlagen VS RenderPartial
Ich habe gerade gelesen in diesem blog-post auf Razor Templating in ASP.NET MVC-3.
Einfach gesagt i just dont get it!
Ist, ich sehe nicht, warum brauchen wir diese (relativ) komplizierten code zu erreichen, was getan werden kann, IMO einfacher (und sauberer) mit @RenderPartial
?
Hier ist, was ich nicht mag:
- Die Vorlage gespeichert ist, als
Func<T,HelperResult>
delegieren? - , Die Vorlage Stellvertretung beibehalten, in der Controller ViewData (e.g HttpContext.Aktuelle.Elemente)
Der einzige "Vorteil", Las ich von diesem blog ist, dass eine separate Datei ist nicht erforderlich für Template, so dass Sie nicht brauchen, um neu zu kompilieren usw.
Aber ich sehe das nicht als gültiges argument. Die zusätzlichen Dateien sind in Ordnung, solange die Lösung-Organisation nicht gefährdet wird.
Ich lieber mit @RenderPartial
, als ich halten kann meine markup trennen von der master-Ansicht, und ich kann machen diese inline - (render-Zeit) und mit jQuery (e.g AJAX-Ereignis).
Vielleicht bin ich etwas fehlt hier, aber kann jemand geben einige Gründe, warum wir wählen sollten Razor Templating über RenderPartial zu erstellen, re-usable content?
InformationsquelleAutor der Frage RPM1984 | 2010-12-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut, Sie sollten Fragen Sie den Autor der post über seine motivation für die Präsentation dieser Technik.
Es ist sicherlich zeigt, was möglich ist, Gestochen. Ob Sie es verwenden sollten, ist eine andere Frage. Ich persönlich denke, dass es alternative Techniken, die sind weniger kompliziert (ich Stimme mit Ihren Punkten über die Lagerung ein
Func
innerhalb der Anfrage-Kontext).@RenderPartial
die Sie bereits erwähnt.@helper
syntax (entweder als lokale Helfer oder eine Globale helper)TagBuilder
zu montieren-die Ausgabe)Nun, ich schaue in der obigen Liste, die ich denke, MVC, könnte zu viel Auswahl 🙂
Update besser Zu veranschaulichen, wie inline-Vorlagen können nützlich sein, ich schrieb einen blog-post zu benutzen, rufen Sie die Abschnitte mit den Standard-code: Optional Razor Abschnitte mit Standard-Inhalt.
Können Sie es verwenden, um etwas zu schreiben wie:
InformationsquelleAutor der Antwort marcind
Ein häufiges Missverständnis über Gestochen ist, kann es nicht verwendet werden, die außerhalb des Kontext des ASP.Net MVC-framework. Es ist die häufigste Szenario, aber die macht der razor engine geht darüber hinaus.
Können Sie festlegen, Rasierer Vorlagen in einer console app oder sogar eine Bibliothek. Als ein stark vereinfacht Beispiel eine app, die sendet automatisierte E-Mails mit HTML an die clients. In den alten Tagen, würden Sie entweder resort zu string-Verkettung oder XSLT-Transformation oder etwas anderes. So oder so, Sie können nicht visuell sehen markup und manipulation wird ein Wartungs-Albtraum.
Mit Razor-templates definieren Sie Ihre Vorlage als HTML-markup, wo Sie können einfach visualisieren und zu testen.
Hier ist ein ausgezeichneter Artikel, der veranschaulicht diese Funktion: http://www.west-wind.com/weblog/posts/2010/Dec/27/Hosting-the-Razor-Engine-for-Templating-in-NonWeb-Applications
Hinweis: ich sage nicht, dass der link, den Sie wies, zeigt dies, nur ein Beispiel, warum würden Sie wollen, gehen Sie über den aufgeführten Methoden in @marcind Antwort.
InformationsquelleAutor der Antwort Mrchief