Как заблокировать возможность добавления этой же записи в SPList?

Есть ли возможность заблокировать возможность добавления тех же данных в SPList? Я знаю, что две записи всегда разные в отношении поля идентификатора. Я хотел бы проверить другие пользовательские поля, добавленные ранее мной, и не допустить добавления значения того же поля. Кто-нибудь может сказать мне, как это реализовать? Я могу предположить, что получатели событий могут быть ответом, но я не мог найти, как добавить получателя в SPList. Кто-нибудь может мне сказать, если я прав и что такое пошаговая процедура для добавления такого получателя событий? Я хотел бы знать, как его собрать и установить с помощью Feature File.

С уважением

TS

2 ответа

Решение

Да, вы можете достичь этого, написав приемник событий, который будет обрабатывать события ItemAdding и ItemUpdating. Вы можете проверить, является ли новое значение уникальным, выполнив CAML-запрос к существующим элементам, и если это не так, вы установите для свойств properties.ErrorMessage и properties.Cancel значение true.

Вы можете найти достаточно информации о присоединении получателя к спискам на http://blogs.msdn.com/brianwilson/archive/2007/03/18/event-handlers-part-3-register-event-handlers-plus-free-site-settings-manage-event-handlers-add-on.aspx

Вы правы, поэтому я проверяю ваш пост как ответ на мой вопрос. Но я думаю, что есть лучшие сайты для изучения обработчиков событий для начинающих пользователей:

1) http://msdn.microsoft.com/en-us/library/ms475328.aspx
2) http://www.c-sharpcorner.com/UploadFile/Chandresh.P/EventHandler04292009070324AM/EventHandler.aspx
3) http://www.wrox.com/WileyCDA/Section/Programming-Event-Handling-in-Windows-SharePoint-Services.id-306329.html

С наилучшими пожеланиями TS

Другие вопросы по тегам