如何用JavaScript在mvc中保存视图之间的数据

本文关键字:视图 之间 数据 保存 何用 JavaScript mvc | 更新日期: 2023-09-27 18:03:25

我想在以下两种情况下直接将数据从一个视图传递到另一个视图:

  1. 我们的用户被允许停靠和取消在整个应用程序中持久的工具栏。我希望在用户导航到另一个页面时保存此状态。工具栏使用jQuery进行停靠和取消停靠。

  2. 在某些情况下,在AJAX调用成功响应后,我们有一个完整的页面刷新或重定向。我们希望在刷新/重定向后向用户显示通知。

我最初的想法是使用cookie,特别是使用jquery-cookie,但我当时想知道使用Session[]变量。考虑到我们的JavaScript将在外部文件中,我不知道这是否可能,如果是这样,是否会使问题复杂化?

如何用JavaScript在mvc中保存视图之间的数据

你看过Lawnchair吗?

http://brian.io/lawnchair/

听起来很像你需要的。它用于跨页面持久化客户端数据。

我的应用程序要求我跨视图和会话存储许多数据元素。我没有预先选择存储机制(主要是因为管理层无法决定),而是使用persistence.js编写了我的应用程序。

我能够在稍后选择精确的存储机制,而对我的代码的影响最小。

我也面临同样的问题。之后,我使用jQuery cookie并存储隐藏的面板id。并且在jQuery的$(document).ready(function(){});中检查cookie,哪些面板是隐藏的,然后在他们的display:none之后,所以在回发后,cookie被保留,面板被隐藏。

您可以通过简单地通过隐藏字段来回发送工具栏状态信息来实现这一点(意味着从MVC视图到控制器,然后从控制器到MVC视图)。