Asp.net mvc Devexpress GridView中的会话超时重定向
我正在使用ASP.NETMVC。 我已经在所有控制器上放置了[Authorize]属性,以便在身份验证失败时能够重定向到登录页面。但在网格回调中,它不会用登录页面内容替换html内容,而是用登录页面html内容显示消息 下面详细解释该场景: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内容 如何解决此问题,以便在会话超时时显示登录屏幕
- 会话超时
- 用户单击网格进行排序/分页
- 网格用于回调
- 由于指定了[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案例编写自定义属性和句柄: