我使用ASP.NET和C#构建一个处理多个步骤的页面。我有另一个HTML页面,它发起了对ASP.NET页面的请求。
我试图找到一种方法让ASP.NET页面在整个ASP.NET的多个步骤中通过JSON将状态更新“推送”回HTML页面。然后,HTML页面将接收状态更新,并在ASP.NET页面正在执行的操作上更新用户。如(步骤1:完成),(步骤2:完成)等。
我最初的想法是,这可以通过使用Response.Flush()之类的东西来实现。
我正在使用jQuery来处理和监控我的AJAX请求。
答案 0 :(得分:1)
注意:客户端应该发起ajax请求。该页面无法推送到客户端
以下是一般概念:
var onCompleteStep1 = function() {
status.hide().html('Step 1 complete!').fadeIn();
// first step complete, begin step 2
$.ajax({
success: onCompleteStep2
...
});
};
var onCompleteStep2 = function() {
status.hide().html('Step 2 complete!').fadeIn();
// second step complete, begin step 3
$.ajax({
success: onCompleteStep3
...
});
};
var onCompleteStep3 = function() {
status.hide().html('Step 3 complete!').fadeIn();
};
// start up first step
$.ajax({
success: onCompleteStep1
...
});
想法是ajax成功回调,你想用你的“Step 1:Complete)”来更新状态文本。
我做了一个简单的小提琴:http://jsfiddle.net/YdQys/ 该示例使用按钮模拟ajax成功回调。但这是一般的想法。