Sharepoint: получатель события: добавление элемента - PullRequest
3 голосов
/ 02 октября 2009

Кто-нибудь успешно использовал метод ItemAdding в получателе событий в Sharepoint для проверки?

Я думаю, что это просто не может работать должным образом в целях проверки, потому что кажется, что:

  • Вы не можете получить доступ к данным, которые вы только что введено в форму
  • Если вы добавите сообщение об ошибке, вместо отображения формы вернись с твоей ошибкой, Sharepoint
    отобразить большую ужасную страницу с ошибкой.

Вот что я нашел в Интернете для метода ItemAdding:

http://www.sharepoint -tips.com / 2006/09 / синхронная надстройка список-события itemadding.html

http://www.moss2007.be/blogs/vandest/archive/2007/07/20/wss-3-0-event-handler-pre-event-cancelling-issues.aspx

http://www.synergyonline.com/blog/blog-moss/Lists/Posts/Post.aspx?ID=25

В любом случае, если кто-то успешно использовал этот метод, скажите, пожалуйста, как, потому что я думаю, что он просто что-то сломал / пропустил!

Спасибо!

Ответы [ 2 ]

6 голосов
/ 03 октября 2009

Вы не можете использовать ItemAdding для выполнения такой «дружественной» проверки валидации. Если вы установите e.Cancel = true и установите e.ErrorMessage, sharepoint перенаправит вас на стандартную страницу ошибок и отобразит ваше сообщение. Вы не можете заставить его перенаправить обратно на страницу формы.

Вместо того, чтобы пытаться взломать встроенные страницы, вы должны использовать форму infopath или aspx, привязанную к типу контента. Infopath имеет встроенные элементы управления проверкой, а с помощью aspx-форм вы можете создавать их самостоятельно, как любое веб-приложение, и выбирать собственную проверку.

Боюсь, нелегкого пути отсюда нет.

-Oisin

4 голосов
/ 14 сентября 2012

Вы можете получить доступ к данным, которые были только что добавлены в форму. Посмотрите на properties.AfterProperties в добавлении / обновлении получателей событий.

Примером могут быть properties.AfterProperties ["Title"].

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...