【问题标题】:redirect code not working in itemreceiver重定向代码在 itemreceiver 中不起作用
【发布时间】:2009-07-12 21:07:16
【问题描述】:

如何从共享点重定向到页面?

我在 itemadded 事件接收器中有这个列表:

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

但在调试时 HttpContext.Current 为空,因此在添加列表项时它不会进行任何重定向。

【问题讨论】:

    标签: c# sharepoint


    【解决方案1】:

    ItemAdded 事件异步发生(即在添加项目之后的某个时间)。它在一个单独的线程上执行,该线程无权访问当前请求的 HttpContext(因此您将无法发送响应来告诉用户的浏览器重定向)。

    这可能适用于 ItemAdding 事件接收器 - 它在将项目添加到列表的同一线程上执行。我不确定执行重定向是否安全,因为它可能会阻止在 SharePoint 中执行其他底层代码。

    Lars Fastrup in one of your previous questions (redirect using itemreceiver sharepoint) 回应了这一点。考虑实施他在那里推荐的解决方案。

    【讨论】:

    • 完美答案。由于 ItemEventReceivers 是异步发生的,理论上用户可能会在 30 秒后被重定向,而他已经在做其他事情。想象一下他突然发现自己在另一个页面时的脸:-P
    猜你喜欢
    • 2021-10-29
    • 2012-06-15
    • 1970-01-01
    • 2012-07-10
    • 1970-01-01
    • 1970-01-01
    • 2013-04-06
    • 2017-07-20
    • 2013-05-25
    相关资源
    最近更新 更多