SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Eventreceiver zur Laufzeit an erstellte Listen hängen

Unbeantwortet Dieser Beitrag hat 4 Antworten

Ohne Rang
2 Beiträge
duff 82 erstellt 16 Mai 2011 21:01
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

gibt es eine Möglichkeit ( z.B. ein Event) mit dem man feststellen kann ob eine neue Liste erzeugt wurde?

Grund hierfür ist, dass ich an alle Listen ein Eventreceiver hinzufügen möchte.Über ein Feature kann ich an alle Listen, die beim aktivieren des Features vorhanden sind, den Eventreceiver anhängen. Dies gilt aber nicht für die Listen die vom Benutzer zu einem späteren Zeitpunkt angelegt werden.

Daher würde mich interessieren ob es ein Event gibt mit dem man feststellen kann wann eine Liste erzeugt wurde.

Danke schon mal ihm vorraus.

Fabian

Alle Antworten

Ohne Rang
2 Beiträge
HeinzJosef Luecking Als Antwort am 17 Mai 2011 09:02
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

In Sharepoint 2010 gibt es die SPListEventReceiver.ListAdded Methode

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splisteventreceiver.listadded.aspx

Heinz-Josef

Ohne Rang
2 Beiträge
duff 82 Als Antwort am 17 Mai 2011 12:03
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Danke für die schnelle Antwort.

Aber wie du schon gesagt hast gibt es das Event erst ab SP2010.

Ich bräuchte exakt dieses, aber in SP2007.

Ohne Rang
66 Beiträge
Sigi Weber Als Antwort am 17 Mai 2011 20:44
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wie so oft lautet die Antwort "es kommt drauf an" ;)

Und zwar kommt es darauf an über welchen Weg die Liste erstellt/angesehen/bearbeitet wird.

Wird sie über SharePoint Object Model Code, SharePoint WebService, SharePoint Designer oder ein Custom Feature erstellt, dann sieht es in SP 2007 leider schlecht aus.

 

Wird sie jedoch über das Web GUI erstellt oder betrachtet/bearbeitet, dann gibt es eine Möglichkeit.

Und zwar kannst du dann über den WebContext mit einem eigenen WebControl per Code darauf reagieren wenn deine Liste angezeigt wird (prüfen auf Listennamen, Url, ob die Liste einen bestimmten Custom Content Type enthält, ein bestimmtes Custom Field, oder von einem bestimmten Listentyp ist, etc).

Dein WebControl deployst du via Feature und in deinem WebControl steckt Code der das Feature deaktiviert sobald es deine Liste gefunden und modifiziert hat (oder auch nicht falls du es für mehrere Listen brauchst, dann musst du bei jedem Seitenaufruf checken ob der EventReceiver schon drangehängt ist). 

Das WebControl kannst du, und solltest du auch, per Feature so einbinden dass es auf allen SharePoint ASPX Seiten aktiviert ist. Google mal nach "PlaceHolderAdditionalPageHead" und falls du da nichts brauchbares findest sag Bescheid dann such ich mal aus meinem alten Code was raus. Hab sowas ähnliches mal vor ein paar Jahren in SP 2007 gemacht...

 

Cheers,

Sigi Weber

Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 18 Mai 2011 11:01
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du kannst einen EventReceiver per Code an Listen dranhängen siehe hier:

http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopment/thread/0eb06647-4e42-4f68-80a5-791a405c55b6/

Wie Du das jetzt genau umsetzt musst Du entscheiden, da führen viele Wege nach Rom:
- Entweder wie oben beschreiben per Button Event den du manuell klickst
- per Timer Job der periodisch die Listen prüft und den Handler dranhängt, wenn nicht vorhanden
- oder, oder, oder...

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de