C# 自动保存表单,直到会话过期

C# 自动保存表单,直到会话过期,c#,asp.net,.net,C#,Asp.net,.net,如何每10秒钟自动保存一个web表单,直到用户注销。有没有使用system.thread.sleep类的方法。?或者是否有其他可行的方法来实现这一点。我正在使用.NET2.0。提前感谢。在要保存的页面上使用计时器和,并将间隔设置为10秒。并将所有表单数据保存在计时器的勾号事件上。因此,勾号事件将在每10秒后执行,您的表单将被保存 请参阅下面的链接,了解与计时器滴答声事件相关的示例,以执行某些任务 最好的方法是使用timers控件,它们将触发勾号事件,您可以在此事件上编写保存数据的代码,将计时器时

如何每10秒钟自动保存一个web表单,直到用户注销。有没有使用system.thread.sleep类的方法。?或者是否有其他可行的方法来实现这一点。我正在使用.NET2.0。提前感谢。

在要保存的页面上使用计时器和,并将间隔设置为10秒。并将所有表单数据保存在计时器的勾号事件上。因此,勾号事件将在每10秒后执行,您的表单将被保存

请参阅下面的链接,了解与计时器滴答声事件相关的示例,以执行某些任务


最好的方法是使用timers控件,它们将触发勾号事件,您可以在此事件上编写保存数据的代码,将计时器时间设置为10000。

作为帮助您继续前进的提示,使用jQuery下面是一些代码:

var ajxAutoSaveTimer = null;

function TriggerChanges()
{
   if(ajxAutoSaveTimer)
     clearTimeout(ajxAutoSaveTimer);

   ajxAutoSaveTimer = setTimeout(MakeAutoSave, 10000);
}

function MakeAutoSave()
{
  // fix the data that you going to send here.

  jQuery.ajax({
        url: "PageName.aspx/MethodName",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        cache: false,
        success: function(data) 
        {
          // you can make a tiny notification here
          return;
        }
        error: function(responseText, textStatus, XMLHttpRequest) {             
                return;
            }
    });
}

jQuery(document).ready(function() {
    jQuery(":input:not(*[ExcludeFromNotice])").bind('change', TriggerChanges);
});
现在我在这里做什么。 从这一行开始,我捕获所有的
输入
,它们是用户控件所做的更改。我用
ExcludeFromNotice
标记的那一个除外,因为其中一些我没有赢得自动保存过程的一部分

jQuery(":input:not(*[ExcludeFromNotice])").bind('change', TriggerChanges);
您可以将其设置为属性上的控件“ExcludeFromNotice=true”。或者,您可以仅为希望成为自动保存通知一部分的控件设置类

现在,在
TriggerChanges()
中,我要做的是创建一个在10秒后触发的时间,用户不进行其他更改

剩下的部分是最困难的,如果使用
MakeAutoSave()
,则需要收集并发布自动保存的数据

一些额外的页面可以帮助您进行保存数据的ajax调用:


签出此链接。。这是您需要设计的东西,制作一个调用ajax并保存表单的计时器-无论您希望什么,每10秒保存一次,或者最好在用户更改后10秒保存一次。@Aristos:Ya..只在用户更改后保存是个好主意。谢谢Aristos@sachin您使用jQuery吗?因为没有jquery很难实现它。@Aristos:不,我没有使用jquery。但是根据你的建议,我打算使用它。您可以通过使用jquery给我一些提示或示例代码吗。