Frage

Kann mir jemand (vielleicht ein XSL-Fan?) dabei helfen, irgendwelche Vorteile bei der Handhabung der Darstellung von Daten auf einer Webseite mit XSL gegenüber ASP.NET MVC zu finden?

Die beiden Alternativen sind:

  1. ASP.NET (MVC/WebForms) mit XSL
    Holen Sie sich die Daten aus der Datenbank und wandeln Sie sie in XML um, das dann auf den verschiedenen Seiten mit XSL-Vorlagen angezeigt wird.

  2. 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 liegt in der konsistenten Anzeige von Daten auf vielen verschiedenen Seiten, wie z. B. WebControls.Korrigieren Sie mich also, wenn ich falsch liege: ASP.NET MVC kann auf die gleiche Weise verwendet werden, jedoch mit stark typisierten Objekten.Bitte helfen Sie mir herauszufinden, ob XSL Vorteile bietet.

War es hilfreich?

Lösung

Ich sehe den Hauptvorteil der Verwendung von XSLT zur Transformation Ihrer Daten und deren Anzeige für den Benutzer in folgendem:

  • Die Daten liegen bereits im XML-Format vor
  • Die Daten folgen einem klar definierten Schema (dies erleichtert die Verwendung von Tools wie XMLSpy erheblich).
  • Die Daten müssen in verschiedene Ausgabeformate umgewandelt werden, z.B.PDF, WMP und HTML

Wenn dies die einzige Ausgabe Ihrer Daten sein soll und diese nicht im XML-Format vorliegen, ist XSLT möglicherweise nicht die beste Lösung.

Wenn eine Benutzerinteraktion erforderlich ist (z. B. das Bearbeiten der Daten), werden Sie am Ende sowieso Back-End-Code verwenden, um Aktualisierungen durchzuführen, was sich möglicherweise als eine Technologie erweist, die zu weit geht ...

Andere Tipps

Bei der Arbeit mit XML-Transformationen sind mir immer zwei Hauptprobleme aufgefallen:

Erstens neigen sie dazu, recht langsam zu sein. Die gesamte XML-Datei muss analysiert und validiert werden, bevor Sie etwas damit machen können.Da es sich um XML handelt, ist es außerdem übermäßig ausführlich und daher größer als nötig.

Zweitens ist die Art und Weise, wie Transformationen funktionieren, beim Codieren etwas umständlich – benutzerdefinierte Tools wie XmlSpy helfen, aber es ist immer noch ein anderes Modell als das, was die meisten Entwickler gewohnt sind.

Im Moment ist MVC sehr schnell und sieht sehr vielversprechend aus, leidet aber unter dem traditionellen Webentwicklungsproblem <% Und %> Bienenstiche überall in Ihrem Code.Durch die Verwendung von XML-Transformationen wird dies vermieden, es ist jedoch viel schwieriger zu lesen und zu verwalten.

Ich habe diese Technik in der Vergangenheit verwendet, und es gibt Anwendungen, bei denen wir sie an meinem aktuellen Arbeitsplatz einsetzen.(Ich gebe zu, dass ich nicht unbedingt ein Fan davon bin, aber ich werde Devil's Advocate spielen.) Das ist tatsächlich einer der Hauptvorteile, und es kann ziemlich nett sein, diese Idee voranzutreiben.Sie können die XML-Datei dynamisch im Handumdrehen erstellen und das Erscheinungsbild der Seite nach Lust und Laune ändern.Ist es möglich, dies mit anderen Methoden zu tun? Ja, aber es ist wirklich einfach, ein Programm zu erstellen, um ein XML-/XSL-Dokument im Handumdrehen zu ändern.

Wenn Sie daran denken, XSL zu verwenden, um ein XML-Dokument in ein anderes umzuwandeln und es als HTML anzuzeigen (was Sie eigentlich tun), öffnen Sie Ihr System, um anderen Programmen den Zugriff auf die Daten auf der Seite über XML zu ermöglichen.Sie können dies mit den anderen Methoden tun, aber die Verwendung einer XSL-Transformation erzwingt jedes Mal die Ausgabe von XML.

Ich würde es auf die leichte Schulter nehmen, ein System auf diese Weise zu erstellen.Sie werden auf viele Fallstricke stoßen, mit denen Sie nicht gerechnet haben, und wenn Sie XSL nicht wirklich gut kennen, wird es auch eine Lernkurve geben.

Schauen Sie sich dies an, wenn Sie XSLT und ASP.MVC verwenden möchten

http://www.bleevo.com/2009/06/aspnet-mvc-xslt-iviewengine/

Jafar Husain bietet einige Vorteile in seinem Vorschlag für Pretty XSL, hauptsächlich Zwischenspeicherung des Stylesheets, um die Seitenlast zu erhöhen und die Größe Ihrer Daten zu reduzieren.Steve Sanderson schlug einen etwas anderen Ansatz vor, bei dem JavaScript als Controller verwendet wurde Hier.

Ein anderer, ähnlicher Ansatz wäre die Verwendung XForms, obwohl die beste Unterstützung dafür durch a erfolgt JavaScript-Bibliothek.

Wenn Sie nur Daten aus DB-XSL-Vorlagen anzeigen möchten, ist dies möglicherweise eine praktische Lösung, wenn Sie jedoch die Benutzerinteraktion übernehmen möchten.Hm...Ich glaube nicht, dass es überhaupt wartbar sein wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top