【问题标题】:Response Redirect cannot be called in Page callback?页面回调中不能调用响应重定向?
【发布时间】:2010-07-16 23:50:04
【问题描述】:

当我让我的网络一段时间不活动时,我收到以下错误

“Response.Redirect.不能在页面回调中调用。”

我将用户 ID 存储在会话中,并在页面加载期间检查 查看用户 id 是否存在,如果不存在,我会将它们重定向到登录页面。

我正在使用 devexpress 控件,如何使重定向起作用?

【问题讨论】:

  • @Lucas - 我不这么认为。那个提问者只是想停止错误并且很高兴使用if (!Page.IsCallback) 我认为@Kyle 想要某种方式在用户会话过期时将用户重定向到登录页面。

标签: asp.net ajax devexpress


【解决方案1】:

if (Page.IsCallback) ASPxWebControl.RedirectOnCallback("~/Login.aspx");

http://documentation.devexpress.com/#AspNet/DevExpressWebASPxClassesASPxWebControl_RedirectOnCallbacktopic

【讨论】:

    【解决方案2】:

    尝试使用 Response.RedirectLocation 属性,而不是在回调期间工作。

    HttpResponse.RedirectLocation Property on MSDN

    【讨论】:

      【解决方案3】:

      您通常可以使用“EnableCallbacks”属性为 ASPxGridView 等 devexpress 控件关闭回调。这显然会导致控件使用回发,但它也将允许 Response.Redirect 完成其工作。

      【讨论】:

        【解决方案4】:

        HttpResponse.RedirectLocation MSDN 上的属性适用于我同样的问题

        这是来自Msdn的示例代码

        Response.StatusCode = 301;
        Response.Status = "301 Moved Permanently";
        Response.RedirectLocation = "http://www.newurl.com ";
        Response.End();
        

        【讨论】:

          【解决方案5】:

          您无法让重定向在回调中起作用。也许您可以在<script type="text/javascript"/> 块中写入一些值并在客户端设置window.location.href(重定向)而不是在服务器上执行Response.Redirect?

          【讨论】:

            【解决方案6】:

            你可以使用:

            string TARGET_URL = ...;
            if(Page.IsCallback)
                DevExpress.Web.ASPxClasses.ASPxWebControl.RedirectOnCallback(TARGET_URL);
            else
                Response.Redirect(TARGET_URL);
            

            请参阅 Devexpress 中的 KA18851

            【讨论】:

              【解决方案7】:

              确实,在回调期间不可能使用 Response.Redirect。请参考 在这方面的以下博客文章。

              http://community.devexpress.com/blogs/aspnet/archive/2008/08/25/how-to-redirect-to-login-page-after-session-timeout.aspx

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2010-09-07
                • 2022-01-12
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多