中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

愛上MVC~ajax調用分部視圖session超(chao)時頁(ye)面跳轉問題

回到目錄

這(zhe)個問題(ti)出現了(le)很多年了(le),都沒有解決,問題(ti)是(shi)這(zhe)樣的,有一個需(xu)要授(shou)權才可以訪問的分(fen)部(bu)視圖,在一個view中使用(yong)(yong)ajax的方法去調用(yong)(yong)它,然后更新頁(ye)面(mian)的局(ju)部(bu)DIV,這(zhe)時(shi),如(ru)果你長時(shi)間不(bu)操作(zuo),session會超時(shi),這(zhe)是(shi)正常的,但在超時(shi)時(shi),如(ru)果你再調用(yong)(yong)ajax方法,這(zhe)時(shi)你的頁(ye)面(mian)跳(tiao)轉將(jiang)會在DIV局(ju)部(bu)完成,這(zhe)是(shi)我(wo)們不(bu)希望看到的!

事實上,引起這個問題的原因是MVC內部跳轉機制(zhi)的問題,它只到在當前的action所渲染的view上進行(xing)跳轉,如果(guo)我們(men)希望在當前頁(ye)面(mian)跳,需(xu)要(yao)將MVC方法改為(wei)JS方法,代(dai)碼(ma)如下

   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調(diao)用分部(bu)視(shi)圖出現登(deng)陸超時,在局部(bu)跳轉URL的問題
   filterContext.HttpContext.Response.Write("<script>location.href='" + url + "'</script>");
   filterContext.HttpContext.Response.End();

這(zhe)幾行代碼就可以解決(jue)幾年困擾我的問(wen)題了,所以,對于(yu)一個問(wen)題的解決(jue)需(xu)要我們(men)仔(zi)細(xi)去(qu)研究,去(qu)思考!

回到目錄

posted @ 2016-05-12 10:33  張占嶺  閱讀(1646)  評論(1)    收藏  舉報