次の方法で共有


Microsoft.Reporting.WebFormsClient.ReportViewer.isLoading プロパティ

Web ページがポストバックを実行中であるかまたはクライアント側コントロールがコンテンツを読み込み中であるかを示す Boolean 値を取得します。

注意

クライアント API プロパティのプロパティ値を取得または設定するには、名前のプレフィックスが get_ および set_ のプロパティ アクセサー メソッドを呼び出す必要があります。

構文

var loading = $find(viewerId).get_isLoading();

戻り値

Web ページがポストバックを実行中であるかまたはクライアント側コントロールがコンテンツを読み込み中である場合は true。それ以外の場合は false。

説明

クライアント側コントロールがコンテンツを読み込み中である場合、ポストバックを実行中 (たとえば新しいデータでレポートを更新中) であるか、またはポストバック後にブラウザーにコンテンツを読み込み中である可能性があります。Web ページまたはクライアント側コントロールがポストバックを実行している場合、このプロパティは例外を発生させません。このプロパティを使用して、レポートまたはページが更新中であるかどうかと、メソッドとプロパティにアクセスできるかどうかを確認してください。

カスタム ツール バーを実装している場合は、このプロパティを使用して、ツール バーの項目を有効または無効に切り替えることができます。たとえば、次の JavaScript コードのスクリプト参照を ScriptManager コントロールに追加すると、外部ボタンを有効または無効に切り替えることができます。

注意

ScriptManager コントロールにより、クライアント側コントロールが読み込まれる前に、参照されているスクリプトが実行されることが保証されます。これにより、イベント ハンドラーで isLoading プロパティのすべての変更を処理できます。

Sys.Application.add_load(function () {
    $find("ReportViewer1").add_propertyChanged(viewerPropertyChanged);
});

function viewerPropertyChanged(sender, e) {
    if (e.get_propertyName() === "isLoading") {
        var viewer = $find("ReportViewer1");
        var button = document.getElementById("Button1");
        button.disabled = viewer.get_isLoading();
    }
}

クライアント側コントロールが時間のかかるポストバックを実行している場合は、Sys.WebForms.PageRequestManager.abortPostBack メソッドを使用して、ポストバックを取り消すことができます。次に例を示します。

function cancelPostBack() {
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    if (prmn.get_isInAsyncPostBack()) {
        prm.abortPostBack();
    }
}

関連項目

参照

Microsoft.Reporting.WebFormsClient.ReportViewer クラス

その他の技術情報

Ajax Client Life-Cycle Events

Sys.Application.load Event

Sys.WebForms.PageRequestManager Class