【发布时间】:2009-07-12 21:07:16
【问题描述】:
如何从共享点重定向到页面?
我在 itemadded 事件接收器中有这个列表:
SPUtility.Redirect("http://mysite", SPRedirectFlags.Default, HttpContext.Current );
但在调试时 HttpContext.Current 为空,因此在添加列表项时它不会进行任何重定向。
【问题讨论】:
标签: c# sharepoint
如何从共享点重定向到页面?
我在 itemadded 事件接收器中有这个列表:
SPUtility.Redirect("http://mysite", SPRedirectFlags.Default, HttpContext.Current );
但在调试时 HttpContext.Current 为空,因此在添加列表项时它不会进行任何重定向。
【问题讨论】:
标签: c# sharepoint
ItemAdded 事件异步发生(即在添加项目之后的某个时间)。它在一个单独的线程上执行,该线程无权访问当前请求的 HttpContext(因此您将无法发送响应来告诉用户的浏览器重定向)。
这可能适用于 ItemAdding 事件接收器 - 它在将项目添加到列表的同一线程上执行。我不确定执行重定向是否安全,因为它可能会阻止在 SharePoint 中执行其他底层代码。
Lars Fastrup in one of your previous questions (redirect using itemreceiver sharepoint) 回应了这一点。考虑实施他在那里推荐的解决方案。
【讨论】: