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

news/2024/7/16 6:53:27

回到目录

这个问题出现了很多年了,都没有解决,问题是这样的,有一个需要授权才可以访问的分部视图,在一个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();

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

回到目录


http://www.niftyadmin.cn/n/3781836.html

相关文章

Java类加载器和双亲委派机制

前言 之前详细介绍了Java类的整个加载过程&#xff08;类加载机制详解&#xff09;。虽然&#xff0c;篇幅较长&#xff0c;但是也不要被内容吓到了&#xff0c;其实每个阶段都可以用一句话来概括。 1&#xff09;加载&#xff1a;查找并加载类的二进制字节流数据。 2&#…

H3C常用命令详解

H3C常用命令详解 作者&#xff1a;尹正杰 版权声明&#xff1a;原创作品&#xff0c;谢绝转载&#xff01;否则将追究法律责任。 1.关闭后台日志输出 <yinzhengjie>sys [yinzhengjie]undo info-center enable 2.查看设备IOS版本信息&#xff0c;设备启动时间&#xff0c…

Centos7中mysql安装

一、安装YUM Repo 1、由于CentOS 的yum源中没有mysql&#xff0c;需要到mysql的官网下载yum repo配置文件。 下载命令&#xff1a; wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm 2、然后进行repo的安装&#xff1a; rpm -ivh mysql57-communi…

收集的网站

响应式设计&#xff1a; http://wf.uisdc.com/cn/ UI相关: http://www.uisdc.com/  优设 http://www.xueui.cn/ http://www.xueui.cn/design-theory/learn-ui-1.html  感觉UI也很有意思&#xff0c;慢慢学习 http://www.sketchcn.com/ http://www.cutterman.cn/zh   一款…

输入页 离开页面前弹出框

离开页面确认主要是利用了onbeforeunload事件&#xff0c;存 在着兼容问题 当该事件声明为 &#xff1a; Java代码 <body onbeforeunload "return pageBeforeunload(event);" > <script type "text/javascript" > function pageBeforeunl…

SpringBoot拦截器注入配置文件的配置参数为null的解决方案

在注册拦截器&#xff0c;即继承WebMvcConfigurerAdapter的类中&#xff0c;普通拦截器的注册方法为&#xff1a; Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new LogInterceptor()).addPathPatterns("/**");supe…

csdn积分获取攻略

下载积分攻略&#xff1a;1. 个人设置里进行手机绑定CSDN账户 奖励50分 &#xff08;右上角设置-账户安全-手机绑定&#xff09;2. 完成任务送若干分积分 http://task.csdn.net/3. 上传有效资源获取积分&#xff08;上传非法&#xff0c;广告资源用户&#xff0c;将被扣除…

[ERROR] Slave I/O: error connecting to master

刚配置的MySQL主从&#xff0c;在从机上看到 点击(此处)折叠或打开 mysql> SHOW slave STATUS \\G *************************** 1. row *************************** Slave_IO_State: Connecting to master Master_Host: 172.17.210.199 Master_User: my Master_Port: 3306…