2013-09-23 45 views
1

我知道这个问题之前已经被问过..事实上很多。但我似乎无法让轮子开启这件事。说实话,我在交配客户端和服务器脚本方面有点失落,我所看到的例子要么过分简单化,要么远远超出我的想象。使用异步服务器调用的ASP.NET AJAX进度指示

目标: 我的目标是采取长时间运行的过程,我已经在服务器上写了VB.NET,这恰好是基于循环的,并计算完成百分比(我知道索引值的范围)并通过某种方式将其传回给用户。

想法: 由于循环迭代,我想传递给客户端一个完整的百分比的整数或从客户端轮询它。

我做了什么: 是非常有限的,我在这里几乎没有任何经验,我一直在做很多谷歌搜索,我已经玩了AJAX的UpdatePanel和UpdateProgress控件,但这个方法到目前为止似乎倾向于像GIF这样的idicator。

一如既往的赞赏,如果我能回答任何问题,我会。

回答

1

您是否考虑过使用内联框架(iFrame)来托管您的长时间运行的进程并通过长时间运行的.aspx页面的Response对象向客户端回报状态?

如果是这样,那么我建议你阅读Easy incremental status updates for long requests

该示例在用户单击后使用按钮作为进度显示,但如果您愿意,可以将输出指向另一个DOM元素。

+0

这看起来很有趣。我已阅读他的其他一些文章,但我还没有遇到过这个。使用这种方法是否正确,我认为按钮点击已经照顾了页面后面的VB,需要拔出并创建一个新的“脚本”aspx页面?那么iFrame将会引用,是否正确? –

+0

@TylerAdkins - 是的,您当前的按钮点击处理程序代码应该被拉出到一个新的aspx页面并被iframe引用,这是正确的。在附注中,我非常喜欢Dave Ward的博客;我只希望他会多发一些帖子;如果您想直接与他联系,他对回复电子邮件和Twitter也非常好。他也在StackOverflow上。 –

+0

我已经开始贯穿这个想法。他的代码是一个zip文件,并且像一个款待一样运行,但它是用我不熟悉的C#编写的。我通过Teleric Converter运行它,但它在VB.NET中正常工作。没有错误不会触及第二页。 –