如何在离开页面后保留帖子条目详细信息(如在StackOverflow上)

时间:2011-07-23 06:38:26

标签: asp.net asp.net-mvc

我注意到在某些网站上,包括StackOverflow,如果我开始撰写帖子(标题,描述等),然后离开页面 - 我可能会回来并在一天之后点击“提问”链接并且详细信息预先填写了我前一天的位置。

我想知道在使用ASP.NET MVC开发网站时如何最好地实现这一目标?我认为将它存储在Session中会在x分钟后过期,并且尝试存储在cookie中太过分了吗?

3 个答案:

答案 0 :(得分:0)

即使用户没有按下保存按钮,您也可以通过ajax保存数据库中的帖子,当用户在页面上时,您可以使用许多浏览器事件来保存帖子。例如,您可以在用户关注其中一个表单输入字段后每x秒开始保存一次帖子,或者在用户输入一定数量的字符后,页面onunload事件也是存储帖子的好地方,但是您不能依赖它,因为浏览器可能被杀死而且没有优雅地关闭。因此,只需使用“Unpublished”标记保存数据库中的帖子,然后在用户访问同一页面时加载它。

答案 1 :(得分:0)

嗯...

  1. 不要使会话过期。

  2. 给它一个“专用”会话,其寿命比正常会话长

  3. 将它存储在浏览器本地SQL db中(这不会随之移动 该 用户)

  4. 如果足够短,请将其存储在cookie中。

  5. 将其与登录用户关联,并允许他们仅存储“一个”。

答案 2 :(得分:0)

自动保存每个短暂的时间并将其保存到cookie /服务器数据库。

如果你将它保存到cookie,那么用户可以在下次继续输入他的浏览器,但他将无法在另一台PC或浏览器上继续留言。

如果您的应用程序中有许多用户,则使用数据库可能会对数据库和带宽产生相当大的负担。