-2

ASP.NET と C# を使用して、いくつかの手順を処理するページを作成しています。ASP.NET ページへの要求を発信した別の HTML ページがあります。

ASP.NET ページが ASP.NET 全体で複数のステップで JSON を介してステータス更新を HTML ページに「プッシュ」する方法を見つけようとしています。次に、HTML ページはステータスの更新を受け取り、ASP.NET ページが何をしているかについてユーザーを更新します。(ステップ 1:完了)、(ステップ 2:完了)など。

私の最初のアイデアは、Response.Flush() のようなものを使用してこれを達成できるかもしれないというものでした。

jQuery を使用して AJAX リクエストを処理および監視しています。

4

1 に答える 1

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 成功コールバックをシミュレートしています。しかし、それは一般的な考え方です。

于 2013-03-08T07:50:51.313 に答える