SharePoint 2010-приемник событий-URL-адрес перенаправления не работает


У меня проблема с приемником событий, который я создал в Visual Studio. В частном случае я хочу перенаправить на сайт. Но приемник событий показывает только страницу ошибки с ошибкой " приемник событий отменил запрос." Это сообщение я могу изменить с помощью свойств.ErrorMessage свойство, но я хочу перенаправить и нет сообщения об ошибке! Вот мой код:

if (NoErrors == false)
{

                    properties.Status = SPEventReceiverStatus.CancelWithRedirectUrl;
                    properties.RedirectUrl = SPUrlUtility.CombineUrl(properties.WebUrl, @"MyEditForm.aspx?"
                                            + "Mode=Upload"
                                            + "&CheckInComment="
                                            + "&ID=" + properties.ListItem.ID
                                            + "&RootFolder=%2Fsites%2FSuppliers%2FLists%2FDocument%20Center"
                                            + "&IsDlg=1"
                                            + "&ContentTypeId=" + properties.ListItem.ContentType.Id
                                            + "&IsDlg=1"
                                            + "&error=" + AllErrorsText);
}

Что я делаю не так? Кто-нибудь может помочь? Заранее спасибо.

Редактировать: Решение: использовать относительный URL и отсутствие специальных символов в переменной ошибки "AllErrorsText".

string TestUrl = "MyEditForm.aspx?"
                 + "Mode=Upload"
                 + "&CheckInComment="
                 + "&ID=" + properties.ListItem.ID
                 + "&RootFolder=%2Fsites%2FSuppliers%2FLists%2FDocument%20Center"
                 + "&IsDlg=1"
                 + "&ContentTypeId=" + properties.ListItem.ContentType.Id
                 + "&IsDlg=1"
                 + "&error=" + AllErrorsTextUrl;
properties.RedirectUrl = TestUrl;
properties.Status = SPEventReceiverStatus.CancelWithRedirectUrl;
1 2

1 ответ:

Я нашел решение самостоятельно:

Используйте относительный URL и никаких специальных символов в переменной ошибки "AllErrorsText".

    string TestUrl = "MyEditForm.aspx?"
                 + "Mode=Upload"
                 + "&CheckInComment="
                 + "&ID=" + properties.ListItem.ID
                 + "&RootFolder=%2Fsites%2FSuppliers%2FLists%2FDocument%20Center"
                 + "&IsDlg=1"
                 + "&ContentTypeId=" + properties.ListItem.ContentType.Id
                 + "&IsDlg=1"
                 + "&error=" + AllErrorsTextUrl;
properties.RedirectUrl = TestUrl;
properties.Status = SPEventReceiverStatus.CancelWithRedirectUrl;