Asp.net mvc Devexpress GridView中的会话超时重定向

Asp.net mvc Devexpress GridView中的会话超时重定向,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,devexpress,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,Devexpress,我正在使用ASP.NETMVC。 我已经在所有控制器上放置了[Authorize]属性,以便在身份验证失败时能够重定向到登录页面。但在网格回调中,它不会用登录页面内容替换html内容,而是用登录页面html内容显示消息 下面详细解释该场景: 会话超时 用户单击网格进行排序/分页 网格用于回调 由于指定了[Authorize]属性,身份验证失败,并重定向到登录操作 登录操作返回登录部分视图 html响应在消息框中显示为消息,而不是替换html内容 如何解决此问题,以便在会话超时时显示登录屏幕

我正在使用ASP.NETMVC。 我已经在所有控制器上放置了[Authorize]属性,以便在身份验证失败时能够重定向到登录页面。但在网格回调中,它不会用登录页面内容替换html内容,而是用登录页面html内容显示消息

下面详细解释该场景:

  • 会话超时
  • 用户单击网格进行排序/分页
  • 网格用于回调
  • 由于指定了[Authorize]属性,身份验证失败,并重定向到登录操作
  • 登录操作返回登录部分视图
  • html响应在消息框中显示为消息,而不是替换html内容
如何解决此问题,以便在会话超时时显示登录屏幕


它只在本地计算机上发生

我也面临同样的问题。为了解决这个问题,我做了以下几点。 我在grid视图中添加了以下内容,以便在发生回调错误时调用java脚本方法

settings.ClientSideEvents.CallbackError = "callbackErrorHandler";
并添加了这个java脚本方法

function callbackErrorHandler(s, e) {
    if (e.message != '') {
        e.handled = true;
        e.cancel = true;
        var url = '@Url.Action("Login", "Home")';
        window.location.href = url;
    }

您还必须为ajax案例编写自定义属性和句柄: