Frage

In einer Verlagsseite möchte ich ein Webpart erstellen, das das Ergebnis einer Abfrage mit einer benutzerdefinierten Anzeige (eine Art Rotatoren) anzeigt.

Da das Ziel des Web -Teils wiederverwendbar ist und vom Benutzer ganz einfach konfigurierbar sein muss, frage ich mich, was die Vor- und Nachteile der folgenden Ansätze sind:

  • Benutzerdefiniertes Web-Teil, das die HTML auf "hart codierte" Weise erzeugt. Fügen Sie die Werkzeugscheibe hinzu, damit der Benutzer Daten einrichten kann
  • Inhaltsabfrage -Web -Teil mit einer XSLT -Transformation
  • Silverlight Web -Teil mit einem benutzerdefinierten Optionsbereich innerhalb des Webparts

Ich bin der Meinung, dass die 2. Lösung besser sein mag, da das gesamte Setup des Webparts bereits da ist, aber ich fürchte ein bisschen, dass die XSLT ziemlich schmerzhaft sein wird.

Vielen Dank im Voraus für Ihre Feedbacks

War es hilfreich?

Lösung

Hab keine Angst vor XSLT. Dies wird Ihnen eine enorme Menge an Macht geben, ohne etwas entwickeln oder einsetzen zu müssen, um ein wenig Anstrengung zu verstehen, um es zu verstehen. Ich empfehle immer, mit einer Identitätstransformation zu beginnen, damit Sie die XML sehen können, die hereinkommt, und dann Vorlagen hinzuzufügen, um die Knoten zu verarbeiten, an denen Sie interessiert sind.

Visual Studio hat großartige Werkzeuge für die Arbeit mit XSLT. Sie können ein intitiales XSLT mit einer Identitätstransformation erstellen und dann eine Quell -XML -Datei (entsprechend Ihren Listendaten) transformieren. Sie können dann die Transformation im Debug -Modus und den Haltepunkt beginnen und durch Ihren XSLT gehen.

Trotzdem gibt es Fälle, in denen das Schreiben eines benutzerdefinierten Webparts sinnvoll ist. Es kann etwas geben, das Sie brauchen, was CQWP nicht tun kann, oder die CQWP -Lösung kann in einigen Fällen sehr verworren sein. Das ist etwas, das Sie dafür entscheiden müssen, das Problem zu verstehen. Aber vermeiden Sie CQWP wegen XSLT nicht.

Andere Tipps

Für Ihren Fall, dh das Anzeigen von Ergebnissen mit benutzerdefinierter Anzeige, empfehlen ich zwei Optionen:

  1. Transformationsergebnisse auf der Client -Seite, beispielsweise wenn Sie eine Art JQuery -Plugin für den Rotator verwenden, ist es möglich, Ergebnissedaten für Rotator mit JQuery zu initialisieren.
  2. Die Option bei der Erweiterung des CQWP. In diesem Fall können Sie die Darstellung von Ergebnissen anpassen, z. B. siehe mein Blog Rendering Inhaltsabfrage -Web -Teil -Ergebnisse im Tabellenlayout Wie man Gegenstände in einem einfachen alten Tischlayout anstelle des Listenlayouts anordnet

Eine weitere Option, die Antwort von Bill (SPDOCTOR), besteht darin, die CQWP zu erweitern, indem eine neue Klasse für Ihren Webpart erstellt wird, die von ContentByQueryWebPart erbt.

Auf diese Weise können Sie dem ToolPane mehr Optionen hinzufügen, um die Logik zu steuern, sowie benutzerdefinierte Methoden in Ihrem XSLT verfügbar zu machen, für die Sie in der Klasse Ihres Webparts "Code-Dhind" schreiben können.

Waldek Mastykarz hat dies in einer Reihe exzellenter Blog -Beiträge auf dieser Website behandelt: http://blog.mastykarz.nl/extending-content-query-web-part-with-custom-data/

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top