2011-03-03 85 views
0

我有一个ASP.NET网页,显示必须在服务器端执行的步骤。这些步骤必须按照指定的顺序执行,并且必须在下一个步骤开始之前完成前置步骤。例如,该步骤将是:ASP.net ajax:需要最佳实践 - 更新页面上的步骤

1)执行动作A:完成 2)执行操作B:在进度 3)执行动作C:等待 4)进行动作d:等待

当步骤完成后,必须在页面上更新相应的状态(已完成,正在进行或正在等待)。 那么,你们会怎么做呢?

以下是我的想法: 页面调用执行服务器端步骤的webmethod。当一步完成时,该webmethod会更新包含步骤编号及其状态的会话变量。 然后,每隔5秒左右,页面会调用另一个webmethod来检查会话变量并返回已完成的步骤编号。在javascript中,更新步骤的状态

也许有一种更简单的方法?

回答

0

如果一个人可能会关闭浏览器&这些步骤不应该重复,我会考虑使用您的数据库或cookie来存储步骤及其相应的状态。

这是'进行中'和'等待'是你问题的主要症结所在,因为如果没有某种轮询方式,你将无法确定自己的状态。我之前做过类似的事情,并且使用了与您描述的相同的方法。