【发布时间】:2013-09-17 18:29:11
【问题描述】:
我已经使用 ASP.Net AJAX 实现了一个回调方法,并希望在此回调发生到另一个页面时重定向到。因为从回调请求时重定向是不可能的。我收到错误"Response.Redirect cannot be called in a Page callback"。
我一般如何为任何被触发的回调事件进行回调重定向? 例如:我有一个 RadComboBox,它在 radcombobox 中键入的每个字母上实现对服务器的回调。 现在说,在为 RadComboBox 请求项目时,会话超时,应用程序需要重定向到另一个页面。我该怎么办?
当在回调中时,不能执行像 ScriptManager.RegisterStartUpScript(this.gettype(),"script","Do javascript redirect to session timeout page ?",true); 这样的脚本
我看到解决此问题的唯一其他方法可能是在我的 MasterPage Load 方法中添加一个检查,该方法检查会话是否超时并添加到 HttpCookie 然后在 MasterPage html 上添加一个 javascript 方法,该方法具有检查超时间隔获取 cookie 中的值以便可以将其重定向到另一个页面? ! .现在,这种方法需要一直运行可能会导致一些与性能相关的问题??
当请求来自回调时,还有其他方法可以实现重定向吗? 我已经尝试过 Response.RedirectLocation 但似乎没有效果?
【问题讨论】:
-
这里也一样,有解决办法吗?
-
是的,在控制级别显示一条消息,当超时时,会话超时。并在您导致重定向的页面中,在重定向 Page.IsCallBack 之前进行检查,然后跳过
标签: javascript asp.net callback xmlhttprequest dom-events