Событие сохранения списка SharePoint 2010

Я пытаюсь поймать событие сохранения в списках, а не в самом списке. Это так, чтобы я мог прекратить сохранение определенных видов.

Я попытался List SPListEventReciever, но это, кажется, ловит только события в самом списке, а не в представлениях.

РЕДАКТИРОВАТЬ: Как упоминалось в комментарии ниже, представления, которые я пытаюсь остановить сохранение людей, являются представлениями по умолчанию во внешних списках.

1 ответ

Решение

В вашей ситуации я бы попробовал следующее:

  • Удалите разрешение обычных пользователей на изменение списков вообще (если это допустимо). Это должно позволить им создавать личные взгляды.
  • Напишите код, который будет принимать личное представление, анализировать его (удалять?) И (используя повышенные привилегии) ​​создавать эквивалентное публичное представление. (Вы не можете просто изменить PersonalView свойство, к сожалению.) Будьте осторожны, чтобы захватить все, что пользователь может сделать в пользовательском интерфейсе создания представления - это будет самая сложная часть.
    • При желании напишите аналогичный код, чтобы разрешить переключение представления с открытого обратно на личное (проверка того, что это не представление по умолчанию или любое другое представление, которое вы пытаетесь защитить).
    • При желании можно отслеживать, кому "принадлежит" одно из этих пользовательских представлений, например, в скрытом списке, и разрешать владельцу только возвращать представление в персональное состояние.
  • Напишите интерфейс для этого кода, например, страницу приложения, позволяющую пользователю выбирать из соответствующих представлений, или пользовательское действие на ленте.
Другие вопросы по тегам