爱上MVC~ajax调用分部视图session超时页面跳转问题
生活随笔
收集整理的這篇文章主要介紹了
爱上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超時頁面跳轉問題,如需轉載請自行聯系原博主。
總結
以上是生活随笔為你收集整理的爱上MVC~ajax调用分部视图session超时页面跳转问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序组件化 快速实现可用模态窗
- 下一篇: bootstrap 栅栏系统