【问题标题】:SharePoint 2010 - Event Receiver - Redirect URL not workingSharePoint 2010 - 事件接收器 - 重定向 URL 不起作用
【发布时间】:2014-07-30 22:23:33
【问题描述】:

我在 Visual Studio 中创建的事件接收器有问题。 在特殊情况下,我想重定向到一个站点。但事件接收器仅显示错误页面,错误为“事件接收器已取消请求”。 我可以使用 properties.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);
}

我做错了什么?有人可以帮忙吗?提前致谢。

编辑: 解决方案:在错误变量“AllErrorsText”中使用相对 URL,并且不要使用特殊字符。

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;

【问题讨论】:

  • 好吧,我自己想通了。我必须使用相对 URL,并且我的错误变量中有一个错误 - 请参阅我在上一篇文章中的编辑

标签: sharepoint event-receiver


【解决方案1】:

我自己找到了解决方案:

在错误变量“AllErrorsText”中使用相对 URL,并且没有特殊字符。

    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;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多