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