如果您要使用ASP.NET MVC设计一个强大的面向数据输入的Web应用程序,您是否会考虑为正在编辑的内容实施草稿?在编辑数据时如何保存数据以及如何管理用户登录/注销/会话超时/从正在编辑的内容导航?
此外,如果你碰巧知道一个处理这个问题的jQuery插件并且可以在ASP.NET MVC中正常工作,请随时提及。
答案 0 :(得分:0)
我应该在我的申请中实施内容的“草稿”吗?
只有您可以根据客户的要求回答您的问题。
在编辑数据时保留数据的内容以及如何管理用户登录/注销/会话超时/从正在编辑的内容导航?
我建议定期向服务器端脚本发送AJAX请求,该脚本会将草稿与当前登录的用户和正在编辑的帖子相关联,并将其保存在数据存储区中。在编辑数据时,它保存在客户端浏览器中(通常在带有输入字段的HTML <form>
元素内)。
当用户提交数据时,它不再被视为草稿,您可以删除草稿表中的相应条目并保留最终修订版。当用户导航到实现了草稿功能的页面时,您可以检查数据库是否存在正在编辑的内容的草稿,并自动预填表单值。
此方法的一个缺点是,如果用户会话到期,您将无法再定期保存草稿,因为您无法将其与用户关联。然后,您可以使用具有滑动过期的会话,并且由于定期发送的AJAX请求(小于会话超时),会话将在用户编辑页面之前到期。
另一种方法是将草稿存储在客户端上。在这里,您可以考虑使用持久性cookie或浏览器支持HTML5 client storage。