Kann mir irgendjemand (vielleicht ein XSL-Fan?) helfen, irgendwelche Vorteile beim Umgang mit der Präsentation von Daten auf einer Webseite mit XSL über ASP.NET MVC zu finden?
Die zwei Alternativen sind:
ASP.NET (MVC / WebForms) mit XSL
Abrufen der Daten aus der Datenbank und Umwandeln in XML, das dann auf den verschiedenen Seiten mit XSL-Vorlagen angezeigt wird.
ASP.NET MVC
Abrufen der Daten aus der Datenbank als C # -Objekte (oder LinqToSql / EF-Objekte) und Anzeigen mit Inline-Code auf MVC-Seiten.
Der Hauptvorteil von XSL war die konsistente Anzeige von Daten auf vielen verschiedenen Seiten, wie WebControls. Also, korrigieren Sie mich, wenn ich falsch liege, ASP.NET MVC kann auf die gleiche Weise verwendet werden, aber mit stark typisierten Objekten. Bitte helfen Sie mir zu sehen, ob es Vorteile für XSL gibt.
Ich sehe den Hauptvorteil der Verwendung von XSLT zur Transformation Ihrer Daten und Anzeige für den Benutzer wie folgt:
Wenn dies die einzige Ausgabe für Ihre Daten sein soll und sie nicht im XML-Format vorliegt, ist XSLT möglicherweise nicht die beste Lösung.
Ebenso, wenn Benutzerinteraktion erforderlich ist (z. B. Bearbeiten der Daten), werden Sie am Ende ohnehin Back-End-Code verwenden, um mit Updates fertig zu werden, was möglicherweise eine Technologie zu weit führen könnte ...
Ich habe immer zwei Hauptprobleme beim Arbeiten mit XML-Transformationen gefunden:
Erstens neigen sie dazu, ziemlich langsam zu sein, die gesamte XML-Datei muss geparst und validiert werden, bevor Sie etwas damit anfangen können. Da es XML ist, ist es auch sehr ausführlich und daher größer als es sein muss.
Zweitens ist die Art, wie Transformationen funktionieren, ein wenig mühsam zu programmieren - benutzerdefinierte Tools wie XmlSpy helfen, aber es ist immer noch ein anderes Modell als die meisten Entwickler.
Momentan ist MVC sehr schnell und sieht sehr vielversprechend aus, leidet aber unter der herkömmlichen Web-Entwicklungsflaute von <%
und %>
, die sich über Ihren gesamten Code erstreckt. Die Verwendung von XML-Transformationen vermeidet dies, ist aber viel schwieriger zu lesen und zu warten.
Ich habe diese Technik in der Vergangenheit verwendet, und es gibt Anwendungen, wo wir sie an meinem derzeitigen Arbeitsplatz verwenden. (Ich gebe zu, ich bin nicht ganz ein Fan davon, aber ich werde den Advokaten des Teufels spielen) Das ist wirklich einer der Hauptvorteile, und diese Idee voranzutreiben kann irgendwie ordentlich sein. Sie können das xsl dynamisch erstellen und das Erscheinungsbild der Seite nach Belieben ändern. Ist es möglich, dies durch die anderen Methoden zu tun ... ja, aber es ist wirklich einfach, ein Programm zu erstellen, um ein XML / XSL-Dokument im laufenden Betrieb zu ändern.
Wenn Sie XSL verwenden, um ein XML-Dokument in ein anderes zu konvertieren und es als HTML anzuzeigen (was Sie wirklich tun), öffnen Sie Ihr System, damit andere Programme auf die Daten auf der Seite zugreifen können über XML. Sie können dies mit den anderen Methoden tun, aber die Verwendung einer xsl-Umwandlung zwingt dazu, jedes Mal xml auszugeben.
Ich würde leichtfertig damit umgehen, ein System auf diese Weise zu erschaffen. Sie werden viele Grubenstürze finden, die Sie nicht erwarten, und wenn Sie xsl wirklich nicht wirklich gut kennen, wird es auch eine Lernkurve geben.
Jafar Husain bietet einige Vorteile in seinem Vorschlag für Pretty XSL , hauptsächlich Caching des Stylesheets, um die Seitenbelastung zu erhöhen und die Größe Ihrer Daten zu reduzieren. Steve Sanderson schlug einen etwas anderen Ansatz vor, bei dem JavaScript als Controller hier verwendet wurde.
Ein anderer, ähnlicher Ansatz wäre die Verwendung von XForms , obwohl die beste Unterstützung dafür besteht eine JavaScript-Bibliothek .
Wenn Sie nur Daten von DB XSL Templates anzeigen möchten, kann dies eine bequeme Lösung sein, aber wenn Sie mit Benutzerinteraktion umgehen. Hm ... ich denke nicht, dass es überhaupt gewartet werden kann.
Tags und Links asp.net-mvc xslt