Событие сохранения списка SharePoint 2010
Я пытаюсь поймать событие сохранения в списках, а не в самом списке. Это так, чтобы я мог прекратить сохранение определенных видов.
Я попытался List SPListEventReciever, но это, кажется, ловит только события в самом списке, а не в представлениях.
РЕДАКТИРОВАТЬ: Как упоминалось в комментарии ниже, представления, которые я пытаюсь остановить сохранение людей, являются представлениями по умолчанию во внешних списках.
1 ответ
Решение
В вашей ситуации я бы попробовал следующее:
- Удалите разрешение обычных пользователей на изменение списков вообще (если это допустимо). Это должно позволить им создавать личные взгляды.
- Напишите код, который будет принимать личное представление, анализировать его (удалять?) И (используя повышенные привилегии) создавать эквивалентное публичное представление. (Вы не можете просто изменить
PersonalView
свойство, к сожалению.) Будьте осторожны, чтобы захватить все, что пользователь может сделать в пользовательском интерфейсе создания представления - это будет самая сложная часть.- При желании напишите аналогичный код, чтобы разрешить переключение представления с открытого обратно на личное (проверка того, что это не представление по умолчанию или любое другое представление, которое вы пытаетесь защитить).
- При желании можно отслеживать, кому "принадлежит" одно из этих пользовательских представлений, например, в скрытом списке, и разрешать владельцу только возвращать представление в персональное состояние.
- Напишите интерфейс для этого кода, например, страницу приложения, позволяющую пользователю выбирать из соответствующих представлений, или пользовательское действие на ленте.