This is the Title of the Book, eMatter Edition
Copyright © 2005 O’Reilly & Associates, Inc. All rights reserved.
|
233
First
Max.
Linie
Max.
Linie
Hier Mini IVZ eingeben!
Abstand untere Tabellenlinie zu Textanfang 1,8 cm
-> also: manuell auf den Arbeitsseiten ziehen!!!
Erstellen auf den
Arbeitsseiten
(siehe Muster)
Kapitel 9
KAPITEL 9
Webparts programmieren
Die Programmierung von Webparts ähnelt der Programmierung benutzerdefinierter
ASP.NET-Steuerelemente; wenn Sie also bereits mit ASP.NET vertraut sind, haben
Sie einen großen Vorsprung im Erlernen der Webpart-Programmierung. Falls nicht,
wird die Lernkurve steil für Sie werden, und ich habe hier nicht den Platz, alles
anzusprechen, was Sie wissen müssen. Aber dafür kann ich Ihnen durch eine Reihe
von Beispielen, die die wichtigsten Programmieraufgaben demonstrieren, einen bes-
seren Zugang zu diesen Informationen verschaffen. Um alles genau zu verstehen,
brauchen Sie allerdings ein separates (und ziemlich dickes) Buch.
Bevor Sie beginnen, sollten Sie Ihre Umgebung so einrichten wie in Kapitel 8
beschrieben. Dieses Kapitel setzt voraus, dass Sie das bereits getan haben und mit
den in Kapitel 8 behandelten Schritten vertraut sind. Außerdem müssen Sie .NET
sowie Visual Basic .NET oder Visual C# kennen, damit dieses Kapitel wirklich von
Nutzen für Sie sein kann. Ich zeige die Beispiele in Visual Basic .NET, aber unter
http://www.usingsharepoint.com/Samples/Ch09CS.aspx sind äquivalente C#-Bei-
spiele verfügbar.
Webparts verstehen
Webparts basieren auf ASP.NET-Steuerelementen. Die Klasse WebPart ist sogar von
System.Web.UI.Control abgeleitet. Das bedeutet, dass die meisten Programmierauf-
gaben bezüglich Aufbau, Lebensdauer, Zustand und Arbeitsteilung zwischen ser-
ver- und clientseitiger Verarbeitung identisch sind. Falls Sie mit diesen Konzepten
nicht vetraut sind, hier eine kurze Übersicht:
In diesem Kapitel:
Webparts verstehen
Das Erscheinungsbild des Web-
parts erstellen
Untergeordnete Steuerelemente
hinzufügen
Clientseitig arbeiten
Die Ereignisreihenfolge verstehen
Eigenschaften hinzufügen
Menüs hinzufügen
Den Aufgabenbereich »Eigen-
schaften« anpassen
Webparts verbinden
435-0.book Seite 233 Dienstag, 20. September 2005 2:30 14
This is the Title of the Book, eMatter Edition
Copyright © 2005 O’Reilly & Associates, Inc. All rights reserved.
234
|
Kapitel 9: Webparts programmieren
Links
Max.
Linie
Max.
Linie
Aufbau
Webparts bestehen aus Komponenten – hauptsächlich aus ASP.NET-Web-
Steuerelementen, HTML-Steuerelementen, String-Literalen und clientseitigen
Skripten. Die Komponenten werden zu einer Controls-Sammlung zusammen-
gefasst; anschließend wird HTML daraus erstellt und an den Client zurückge-
sendet.
Lebensdauer
Eine Webpart-Instanz wird auf dem Server als Reaktion auf eine Client-Anfrage
erstellt. Diese Instanz führt Code aus, reagiert auf Ereignisse, erzeugt die Ant-
wort und wird kurz nach dem Versand der Antwort an den Client vernichtet.
Die nächste Anfrage erzeugt eine neue Instanz, die wiederum vernichtet wird,
und so weiter.
Zustand
Die Eigenschaften von Web-Steuerelementen werden mit Hilfe eines eingebau-
ten
ViewState-Objekts über die genannte Lebensdauer hinaus beibehalten.
ViewState speichert Einstellungen mit Hilfe versteckter HTML-Steuerelemente,
die mit dem Webpart erzeugt werden. Der Webpart lädt diese Werte kurz nach
seiner Initialisierung mittels
LoadViewState und speichert unmittelbar vor der
HTML-Erzeugung wiederum alle Änderungen mit Hilfe von
SaveViewState.
Server-/Clientseitiger Code
Die Webpart-Klasse läuft auf dem Server, und dieser Code wird nur ausgeführt,
wenn die Seite mit Hilfe einer Befehlsschaltfläche oder eines anderen Absende-
steuerelements an den Server zurückgeschickt wird. Sie können auch JavaScript
einfügen, das auf dem Client ausgeführt wird – diese Skripten reagieren auf
Webpart-Ereignisse, ohne zum Server zurückzukehren. Das ist effizienter und
verbessert in vielen Fällen die Performance.
Abbildung 9-1 demonstiert diese Konzepte in Bezug auf die Lebensspanne eines
Webparts auf dem Server und seiner Darstellung auf dem Client.
ASP.NET erweitern
Im vorigen Abschnitt wurden grundlegende Konzepte vorgestellt, die bei Webparts
und benutzerdefinierten ASP.NET-Steuerelementen identisch sind, aber Webparts
erweitern die ASP.NET-Klasse
Control, damit Mitglieder die Eigenschaften von
Webparts ändern, speichern und verknüpfen können, wie hier beschrieben:
Ändern
Mitglieder können die Eigenschaften von Webparts einstellen, indem sie Frei-
gegebene Webparts bearbeiten oder die entsprechende Funktion aus dem Web-
part-Menü wählen und ihre Änderungen dann im Aufgabenbereich
Eigenschaften eingeben.
435-0.book Seite 234 Dienstag, 20. September 2005 2:30 14
This is the Title of the Book, eMatter Edition
Copyright © 2005 O’Reilly & Associates, Inc. All rights reserved.
Webparts verstehen
|
235
Rechts
Max.
Linie
Max.
Linie
Speichern
Webpart-Eigenschaften können in der Inhaltsdatenbank gespeichert werden.
Dies ermöglicht Mitgliedern die Änderung der eigenen oder freigegebenen
Ansicht einer Seite sowie die Speicherung dieser Änderungen bis zum nächsten
Besuch dieser Seite.
Verknüpfen
Mitglieder können eine Verbindung zwischen einer Eigenschaft eines Webparts
und einer Eigenschaft eines anderen Webparts herstellen. Dies führt zu einer
Art Legostein-Ansatz für den Aufbau von Webpartseiten.
Die SharePoint-Dokumentation nennt Webparts gestaltbar – das bedeutet, dass
berechtigte Mitglieder ihr Aussehen und ihre Funktion vom Browser aus ändern
können, wie in Abbildung 9-2 gezeigt wird.
Unter ASP.NET können diese Änderungen nur durch Bearbeiten des HTML-
Codes eines Steuerelements durchgeführt werden, und es gibt keine eingebaute
Methode zum Speichern von Einstellungen oder Verknüpfen von Webparts. Die
SharePoint-Klassen
WebPart und WebPartZone stellen die Infrastruktur für diese
Funktionen bereit.
Abbildung 9-1: Wichtige Ereignisse in der Lebensspanne eines Webparts
435-0.book Seite 235 Dienstag, 20. September 2005 2:30 14

Get Praxiswissen SharePoint (O'Reillys Basics) now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.