我目前正在使用ASP.NET MVC和HTML / JavaScript的网站上工作。
在这个网站上,我有一个带有数据表单的页面,其中包含多个文本字段,组合框,日期时间选择器和其他控件(其中一些控件来自jQuery UI扩展),用户可以在其中输入数据。

现在,我要求刷新页面时输入的数据不应该丢失,因为当前刷新页面时表单中的所有字段都变为空白。

我已经实现了一种解决方案,该解决方案将用户输入的所有内容存储在sessionStorage中,并在用户刷新页面时将其恢复。但是,sessionStorage并不是用于此目的的理想方法,因为当用户导航到网站上一个完全不同的页面,然后导航回到包含数据表单的页面时,数据甚至会被还原。

有没有什么方法可以通过JavaScript来存储数据,该方法的工作原理类似于sessionStorage(或localStorage),但是当用户导航到另一个页面时会自动清除该数据?如果不是,至少有一种简单的方法可以在用户导航到另一个页面时手动清除sessionStorage吗?

最佳答案

您可以在布局页面中处理文档就绪事件,然后可以通过页面URL进行检查。

<script>

    $(document).ready(function () {
        if (window.location.href != 'your url') {
            // reset all data
        }
        else {
            // restore data from local storage
        }
    });
</script>

09-30 17:41
查看更多