【发布时间】:2013-02-28 01:28:58
【问题描述】:
我想在以下两种情况下直接将数据从一个视图传递到另一个视图:
允许我们的用户停靠和取消停靠在我们的应用程序中始终存在的工具栏。我希望在用户导航到另一个页面时保存此状态。工具栏使用 jQuery 停靠和取消停靠。
在某些情况下,在 AJAX 调用成功响应后,我们会进行整页刷新或重定向。我们希望在刷新/重定向后向用户显示通知(例如,您的操作成功)。
我最初的想法是使用 cookie,特别是使用 jquery-cookie,但后来我想知道使用 Session[] 变量。鉴于我们的 JavaScript 将位于外部文件中,我不知道这是否可行,如果可行,是否会使问题复杂化?
【问题讨论】:
-
在返回您的 ajax 响应之前,是否有理由不在服务器端设置会话数据?
-
@Justin 我认为可能存在问题的唯一原因是我们的
$(document).ready()位于外部 JavaScript 文件中,这会在查询会话数据时导致问题。我想保持这个外部化而不是使用多个$(document).ready()s -
如果你使用
Session,你不会关心你的$(document).ready()在哪里。Session存在于服务器上,因此您必须在服务器上对其进行读/写。例如,您在返回 ajax 响应之前设置了一些会话数据。然后,稍后......您需要获取一些数据,您必须返回服务器读取该数据(另一个 ajax 请求)。
标签: c# jquery asp.net-mvc cookies