Hinzufügen von Ereignisempfängern zu SharePoint 2010-Listen

SharePoint-Schnellstartbanner
Erste Schritte mit der Webentwicklung in SharePoint 2010: Informationen zum Anfügen von Ereignisempfängern an benutzerdefinierte SharePoint 2010-Listen.

Letzte Änderung: Mittwoch, 12. Januar 2011

Gilt für: Office 2010 | SharePoint Foundation 2010 | SharePoint Server 2010 | Visual Studio | Visual Studio 2010

In dieser Übung fügen Sie einen Ereignisempfänger einer benutzerdefinierten Microsoft SharePoint 2010-Liste hinzu, die ausgelöst wird, wenn Sie ein Element in der Liste zu löschen versuchen. Für diese Aufgabe müssen Sie die folgenden Schritte ausführen:

  • Öffnen des Listendefinitionsprojekts

  • Hinzufügen des Ereignisempfängercodes

  • Testen der Projektmappe

HinweisHinweis

Bei dieser Übung wird davon ausgegangen, dass Sie bereits das benutzerdefinierte Listenprojekt Bugs in Microsoft Visual Studio 2010 erstellt haben. Anweisungen zum Erstellen des benutzerdefinierten Listendefinitionsprojekts finden Sie im Kurzhinweis Erstellen benutzerdefinierter Listendefinitionen in SharePoint 2010.

Öffnen des Listendefinitionsprojekts

Für diese Aufgabe öffnen Sie das Listendefinitionsprojekt in Visual Studio 2010.

So öffnen Sie das Listendefinitionsprojekt

  1. Starten Sie Visual Studio 2010.

  2. Zeigen Sie im Menü Datei auf Öffnen, und klicken Sie dann auf Projekt/Projektmappe.

  3. Navigieren Sie zur Listendefinitionsprojekt-Datei (Bugs.sln), und klicken Sie auf Öffnen.

Hinzufügen des Ereignisempfängercodes

Für diese Aufgabe erstellen Sie einen Ereignisempfänger und fügen ihn an die Listendefinition an. Dieser Ereignisempfänger verhindert das Löschen von fehlerhaften Elementen und zeigt eine Meldung an.

So fügen Sie der Listendefinition den Ereignisempfänger hinzu

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Knoten Bugs, zeigen Sie auf Hinzufügen und klicken Sie dann auf Neues Element.

  2. Klicken Sie im Dialogfeld Neues Projekt im Abschnitt Installierte Vorlagen auf Visual C#, klicken Sie auf SharePoint, und klicken Sie dann auf 2010.

  3. Klicken Sie in den Projektelementen auf Ereignisempfänger.

  4. Geben Sie BugListItemEvent im Feld Name ein, und klicken Sie dann auf Hinzufügen.

  5. Wählen Sie im Assistenten zum Anpassen von SharePoint die Option Ein Element wird gelöscht aus, und klicken Sie dann auf Fertig stellen.

  6. Erweitern Sie im Projektmappen-Explorer den Knoten BugListItemEvent, und öffnen Sie dann die Datei Elements.xml.

  7. Stellen Sie sicher, dass das ListTemplateId-Attribut im Receivers-Element auf 10001 festgelegt ist, damit der Ereignisempfänger nur an die benutzerdefinierte Liste gebunden wird.

  8. Erweitern Sie im Projektmappen-Explorer den Knoten BugListItemEvent, und öffnen Sie dann BugListItemEvent.cs. Die überschriebene ItemDeleting-Methode sollte angezeigt werden.

  9. Fügen Sie in der ItemDeleting-Methode nach der base.ItemDeleting(properties);-Anweisung den folgenden Code ein. Dieser Code verhindert das Löschen eines Elements und zeigt eine Fehlermeldung an.

    try
    { 
       properties.Cancel = true;
       properties.ErrorMessage = "Bugs can only be resolved not deleted!";
    }
    catch (Exception ex)
    {
       return;
    }
    finally
    {
       this.EventFiringEnabled = true;
    }
    
  10. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Knoten Bugs, und klicken Sie dann auf Bereitstellen. Klicken Sie auf Automatisch lösen, falls eine Bereitstellungsfehlermeldung angezeigt wird.

  11. Öffnen Sie die zuvor angegebene Website.

  12. Klicken Sie auf der Homepage im linken Navigationsbereich auf die Liste Bugs.

  13. Klicken Sie auf der Registerkarte Listentools auf Elemente, und klicken Sie dann in der Dropdownliste Neues Element auf Bug Item. Der Bildschirm Bugs – Neues Element wird angezeigt.

  14. Geben Sie zum Erstellen eines Bugs Informationen in die entsprechenden Felder ein, und klicken Sie dann auf Speichern.

  15. Versuchen Sie anschließend, das Element zu löschen. Eine ähnliche Fehlermeldung wie in Abbildung 1 sollte angezeigt werden.

    Abbildung 1. Durch das Löschen des Elements ausgelöste Fehlermeldung

    Fehlermeldung beim Löschen

Testen der Projektmappe

Für diese Aufgabe erstellen Sie zunächst ein Element in der benutzerdefinierten Liste und lösen dann den Ereignisempfänger aus, indem Sie das Element zu löschen versuchen.

So testen Sie die Projektmappe

  1. Öffnen Sie die Website, die Sie für das Listendefinitionsprojekt angegeben haben.

  2. Klicken Sie auf der Homepage im linken Navigationsbereich auf die Liste Bugs.

  3. Klicken Sie auf der Registerkarte Listentools auf Elemente, und klicken Sie dann in der Dropdownliste Neues Element auf Bug Item. Der Bildschirm Bugs – Neues Element wird angezeigt.

  4. Geben Sie zum Erstellen eines Bugs Informationen in die entsprechenden Felder ein, und klicken Sie dann auf Speichern.

  5. Versuchen Sie anschließend, das Element zu löschen. Eine ähnliche Fehlermeldung wie in Abbildung 1 sollte angezeigt werden.

Nächste Schritte