重定向到浏览器后退按钮上的特定操作单击MVC

时间:2014-01-28 08:40:17

标签: javascript asp.net-mvc back-button page-refresh

单击浏览器的后退按钮时,如何重定向到控制器操作。 我可以通过单击我自己的按钮或页面上的链接来实现这一点,但是点击浏览器的后面或刷新按钮获得相同的结果是一个问题。

我有一个名为“通知”的控制器
在控制器中称为“解锁”的动作以“id”作为参数。

我的链接完美无缺:

    @Html.ActionLink("Back to List", "Unlock", new { id = Model.NotificationId })

我尝试过使用javascript:

    <script>
        window.onbeforeunload = function () {
            window.location.replace("/Notifications/Unlock/" + "@Model.NotificationId");
            }
    </script>

甚至window.location.href似乎都不起作用。请帮忙。谢谢:))

2 个答案:

答案 0 :(得分:2)

这对我有用:

<script>
    window.onunload = function () {
        $.ajax({
            url: '/Notifications/Unlock/' + '@Model.NotificationId',
            type: 'POST',
            datatype: "json",
            contentType: "application/json; charset=utf-8"
        });
    };
</script>

答案 1 :(得分:0)

你不能这样做。当用户按下浏览器的后退按钮时,将呈现前一页面的缓存版本,并且永远不会调用服务器。