MVC中注销后的MVC浏览器后退按钮问题

时间:2014-08-13 11:38:53

标签: javascript asp.net ajax asp.net-mvc asp.net-mvc-4

美好的一天

     After logout when i press browser back button again the home page is shown 

Global.asax文件中有一个解决方案,我可以像这样编写

 protected void Application_BeginRequest()
        {
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1));
            Response.Cache.SetNoStore();
        }

这将解决我的问题,但我不想使用它

所以我尝试在布局页面上使用这段代码

<script type="text/javascript">
        $(document).ready(function () {
            CheckingSeassion();
        });
        function CheckingSeassion() {
            $.ajax({
                type: "POST",
                url: '@Url.Action("ClearSession", "Login")';,
                data: "{}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (response) {
                    if (response.d == 0) {
                        window.location = '@Url.Action("LogOut", "Login")';;
                    }
                },
                failure: function (msg) {
                    alert(msg);
                }
            });
        }
</script> 

但此方法有效但主页仍在显示。 当我点击某个按钮时,我正被带到登录页面

我如何解决这个问题我认为该页面已开始缓存

1 个答案:

答案 0 :(得分:0)

最好的方法是禁用后退按钮(带一些javascript):

<script>
 function preventBack(){ window.history.forward(); }
 setTimeout("preventBack()", 0);
 window.onunload=function(){ null };
</script>