Frage

Listendaten können über einen Webdienst verfügbar gemacht werden, aber wie können Webparts auch über einen Webdienst verfügbar gemacht werden?

Ich denke, diese Frage ähnelt https://stackoverflow.com/questions/7115858/sharepoint-2010-web-part-expose-web-service Der Unterschied besteht darin, dass ich den Inhalt des Webparts über einen Sharepoint-Webdienstaufruf verfügbar machen möchte. Ist das möglich?

z.B :Wenn das Webpart ein Bild enthält, stellen Sie dieses Bild über den Sharepoint-Webdienst bereit

War es hilfreich?

Lösung

Ich bin nicht sicher, wie Sie dies über einen Webservice tun würden, wenn Sie sogar können.Sie können es jedoch einfach mit dem Client-Side-Skript mit AJAX ausführen.Holen Sie sich einfach die Seite mit dem Web-Teil darin, analysieren Sie den Inhalt und zeigen Sie sie an, wo Sie auf der aktuellen Seite möchten.

Andere Tipps

Wenn es nur darum geht, Webpart-Inhalte von einer zugänglichen Seite innerhalb derselben Domain abzurufen, glaube ich nicht, dass Sie dafür einen Webservice benötigen.

Sie können Ihr Webpart in einem div (id=container) platzieren und die folgende Jquery verwenden:

$('#result').load('sitepages/test.aspx #container');

Wenn diese Methode ausgeführt wird, ruft sie den Inhalt von ab sitepages/test.aspx, und dann analysiert jQuery das zurückgegebene Dokument, um das Element mit der ID „Container“ zu finden.Dieses Element wird zusammen mit seinem Inhalt in das Element mit der ID result eingefügt und der Rest des abgerufenen Dokuments wird verworfen.

Wenn Sie auf den Inhalt eines Webparts auf einer Seite außerhalb der Domain zugreifen müssen, verwenden Sie contents() Jquery-Funktion wie hier erwähnt:

https://stackoverflow.com/questions/1796619/how-to-access-the-content-of-an-iframe-with-jquery

Wenn Sie sich jedoch für den Webservice entscheiden, müssen Sie diesen programmieren.In der Webmethode können Sie die Seite analysieren und den Inhalt der benötigten HTML-Abschnitte zurückgeben, indem Sie verwenden HTMLAgilityPack

Ein Webpart ist zum Anzeigen von Inhalten, um kein Inhalts-Repository für andere Komponenten bereitzustellen. Ein paar Möglichkeiten:

    .
  1. Vielleicht benötigen Sie überhaupt kein Webpart, einfach eine Liste erstellen und dort das Bild speichern.

  2. Vielleicht brauchen Sie auch einen Webpart. Erstellen Sie eine Liste, speichern Sie das Bild dort und referenzieren Sie dieses Bild aus dem Webpart. Andere Komponenten könnten dann auch auf dieselbe Liste aufweisen.

  3. Vielleicht gibt es mehrere Bilder, aber der Webpart macht einige Logik, um zu bestimmen, welches Bild "aktives" angezeigt wird, das angezeigt wird. Verschieben Sie in diesem Fall entweder a) diese Logik auf einen benutzerdefinierten Webdienst und rufen Sie denselben Webservice sowohl vom Web-Teil als auch von anderen Komponenten an, oder b), woher das Webpart auch eine benutzerdefinierte Liste mit dem Namen / Pfad von aktualisieren kann das aktuelle Bild "Aktiv". Andere Komponenten können die benutzerdefinierte Liste lesen, um das Bild zu erhalten. (Ich mag die Idee eines benutzerdefinierten Webservice, der aus architektonischer Basis besser ist, aber es wäre ein bisschen schwieriger, in SharePoint einzurichten. Mit einer benutzerdefinierten Liste, dass die Web-Part-Updates nicht so sauber sein scheint, aber wäre es viel einfacher zu einrichten.)

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