跳出框架页,实际上是更改父页面地址。那么更改父页面地址很简单即:
window.parent.location='/Login/loginindex';
这里说session过期,那么浏览器端的任何请求都应该进行过滤,所以在OnActionExecuting方法中,进行跳转。
filterContext.Result = new ContentResult() { Content = "<html><script>window.parent.location='/Login/loginindex';</script></html>", ContentType = "text/html" };//让父页面发生跳转
如果写到上面这一步,就结束了,那么非ajax请求可以顺利跳转,但是ajax请求会把上述内容作为json字符串返回,并不能真正的跳转。
这里要在后面加一个return;就可以了。什么原因,水平有限,我也不知。