Asp.net mvc 3 MVC3…在卸载视图时随时保存模型

Asp.net mvc 3 MVC3…在卸载视图时随时保存模型,asp.net-mvc-3,navigation,save,Asp.net Mvc 3,Navigation,Save,我有一个C.NET web应用程序,希望在用户离开视图时随时保存我的基础模型。我正在使用带有DbContext对象的.Net实体框架。如何实现导航保存?我认为您可以通过ajax定期进行保存,因此一旦用户离开页面,它就已经全部保存。谢谢您的评论。这是教育性的。使用提供的关于表单和帖子的信息,我使用按钮进行poast,并调查它们的价值,以决定执行什么操作 在有导航链接的视图上,我交换了输入按钮,并使用CSS使它们看起来和行为像超链接。 及 任务控制器已将NavSave as参数保存到编辑[POST]

我有一个C.NET web应用程序,希望在用户离开视图时随时保存我的基础模型。我正在使用带有DbContext对象的.Net实体框架。如何实现导航保存?

我认为您可以通过ajax定期进行保存,因此一旦用户离开页面,它就已经全部保存。

谢谢您的评论。这是教育性的。使用提供的关于表单和帖子的信息,我使用按钮进行poast,并调查它们的价值,以决定执行什么操作

在有导航链接的视图上,我交换了输入按钮,并使用CSS使它们看起来和行为像超链接。 及

任务控制器已将NavSave as参数保存到编辑[POST]……中,其值为创建子任务或删除子任务。在控制器中,我检查NavSave是否为null……如果不是,我则检查值。如果创建子任务,则保存任务模型并导航到子任务Create[GET]方法。如果选择DeleteSubTask,则保存任务模型并导航到Subtask Delete[GET]方法。为了做到这一点,我还有一个包含子任务id的隐藏字段……因此当我导航到Delete[Get]方法时,我知道要删除哪个子任务


如果您愿意,请发表评论…

Page\u卸载与用户离开您的页面完全无关。这发生在客户端。您需要了解Javascript和客户机-服务器编程。在webforms应用程序的“代码隐藏”页面中卸载Page_…。在webforms应用程序中卸载Page_并不像您想象的那样。一点也不。在将页面发送到客户机之前,它在页面处理完成并从服务器卸载时运行。这与客户端离开页面完全无关。@MikeTWebb-SLaks是对的,您需要在客户端进行操作。即使这样,它也不是100%可靠的。重新考虑你的设计。为什么不在执行需要更新模型的操作时保存?在我看来,基于时间的持久性不是一个好主意。
        <input style="width:40px;" 
            class="navigate_save_header" 
            type="submit" name="NavSave" 
            value="Delete SubTask"
        />