Monday, January 31, 2011

Delete event receiver from a SharePoint list

  1. private void DeleteEventReceiverFromAList(string siteUrl)
  2. {
  3. using (SPSite site = new SPSite(siteUrl))
  4. {
  5. using(SPWeb web = site.OpenWeb())
  6. {
  7. try
  8. {
  9. SPList list = web.Lists["myList"];
  10. if (list != null)
  11. {
  12. string className = "EventReceiverClass";
  13. string asmName = "EventReceiverAssemblyName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a865f0ecc234ea51";
  14. web.AllowUnsafeUpdates = true;
  15. int receivers = list.EventReceivers.Count;
  16. bool isAddedReceiverExist = false;
  17. bool isUpdatedReceiverExist = false;
  18. for (int i = 0; i <>
  19. {
  20. SPEventReceiverDefinition eventReceiver = list.EventReceivers[i];
  21. if (eventReceiver.Class == className && eventReceiver.Type == SPEventReceiverType.ItemAdded)
  22. {
  23. eventReceiver.Delete();
  24. break;
  25. }
  26. }
  27. }
  28. }
  29. catch { }
  30. finally
  31. {
  32. web.AllowUnsafeUpdates = false;
  33. }
  34. }
  35. }
  36. }