код перенаправления не работает в itemreceiver - PullRequest
1 голос
/ 29 июня 2009

как я могу перенаправить на страницу с sharepoint?

У меня есть это в приемнике событий itemadded для списка:

SPUtility.Redirect("http://mysite", SPRedirectFlags.Default, HttpContext.Current );

но при отладке HttpContext.Current имеет значение null, поэтому он не выполняет никакого перенаправления при добавлении элемента списка.

1 Ответ

6 голосов
/ 29 июня 2009

Событие ItemAdded происходит асинхронно (т. Е. Через некоторое время после добавления элемента). Он выполняется в отдельном потоке, который не имеет доступа к HttpContext для текущего запроса (и поэтому вы не сможете отправить ответ, чтобы сообщить браузеру пользователя о перенаправлении).

Это может работать в приемнике событий ItemAdding - он выполняется в том же потоке, который добавляет элемент в список. Я не уверен, что перенаправление безопасно, поскольку это может помешать выполнению другого базового кода в SharePoint.

Это было повторено Ларсом Фаструпом в одном из ваших предыдущих вопросов (перенаправление с помощью itemreceiver sharepoint) . Подумайте о реализации решения, которое он рекомендует там.

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