爱上MVC~ajax调用分部视图session超时页面跳转问题

简介:

这个问题出现了很多年了,都没有解决,问题是这样的,有一个需要授权才可以访问的分部视图,在一个view中使用ajax的方法去调用它,然后更新页面的局部DIV,这时,如果你长时间不操作,session会超时,这是正常的,但在超时时,如果你再调用ajax方法,这时你的页面跳转将会在DIV局部完成,这是我们不希望看到的!

事实上,引起这个问题的原因是MVC内部跳转机制的问题,它只到在当前的action所渲染的view上进行跳转,如果我们希望在当前页面跳,需要将MVC方法改为JS方法,代码如下

   filterContext.Result = new RedirectToRouteResult("Default", new RouteValueDictionary { 
                      { "Action",_failActionName },
                      { "Controller", _failControllerName}, 
                      { "returnUrl", returnUrl} });

修改成JS的方式

 string url = new UrlHelper(filterContext.RequestContext).Action(
                _failActionName,
                _failControllerName,
                new
                {
                    returnUrl = returnUrl
                });
  //防治ajax调用分部视图出现登陆超时,在局部跳转URL的问题
   filterContext.HttpContext.Response.Write("<script>location.href='" + url + "'</script>");
   filterContext.HttpContext.Response.End();

这几行代码就可以解决几年困扰我的问题了,所以,对于一个问题的解决需要我们仔细去研究,去思考!

本文转自博客园张占岭(仓储大叔)的博客,原文链接:爱上MVC~ajax调用分部视图session超时页面跳转问题,如需转载请自行联系原博主。

目录
相关文章
|
11天前
|
前端开发 Java Spring
数据之桥:深入Spring MVC中传递数据给视图的实用指南
数据之桥:深入Spring MVC中传递数据给视图的实用指南
29 3
|
1月前
|
存储 设计模式 前端开发
请解释 Web 应用程序的 MVC(模型-视图-控制器)架构。
【2月更文挑战第26天】【2月更文挑战第89篇】请解释 Web 应用程序的 MVC(模型-视图-控制器)架构。
|
6月前
|
XML 缓存 前端开发
Spring MVC视图解析器
Spring MVC视图解析器
50 1
|
7月前
|
前端开发 JavaScript Java
SpringBoot Ajax跨域问题(session共享问题)
ajax 发送post请求至springBoot出现跨域问题 需要在springBoot加上注解 @CrossOrigin 就能解决
39 0
|
8月前
|
前端开发
前端学习笔记202305学习笔记第三十一天-什么是mvc-数据操作和视图更新4
前端学习笔记202305学习笔记第三十一天-什么是mvc-数据操作和视图更新4
37 1
|
8月前
|
前端开发
前端学习笔记202305学习笔记第三十一天-什么是mvc-数据操作和视图更新2
前端学习笔记202305学习笔记第三十一天-什么是mvc-数据操作和视图更新2
26 0
|
8月前
|
前端开发
前端学习笔记202305学习笔记第三十一天-什么是mvc-数据操作和视图更新1
前端学习笔记202305学习笔记第三十一天-什么是mvc-数据操作和视图更新1
32 0
|
8月前
|
前端开发
前端学习笔记202305学习笔记第三十一天-什么是mvc-数据操作和视图更新3
前端学习笔记202305学习笔记第三十一天-什么是mvc-数据操作和视图更新3
41 0
|
10月前
|
JSON 前端开发 Java
《Spring MVC》 第四章 域对象、视图、转发和重定向
《Spring MVC》 第四章 域对象、视图、转发和重定向
62 0
|
10月前
|
XML JSON 前端开发
【Spring MVC学习笔记 六】SpringMVC框架整合AJAX完成局部刷新
【Spring MVC学习笔记 六】SpringMVC框架整合AJAX完成局部刷新
64 0