Condividi tramite


Proprietà Microsoft.Reporting.WebFormsClient.ReportViewer.isLoading

Ottiene un valore Boolean che indica se la pagina Web sta eseguendo un postback o se il controllo lato client sta caricando contenuto.

Nota

Per ottenere o impostare valori di proprietà per proprietà API client, è necessario chiamare metodi della funzione di accesso alle proprietà denominati con i prefissi get_ e set_.

Sintassi

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

Valore restituito

true se la pagina Web sta eseguendo un postback o se il controllo lato client sta caricando contenuto; in caso contrario, false.

Osservazioni

Quando il controllo lato client sta caricando contenuto, potrebbe essere in corso un postback, ad esempio l'aggiornamento di un rapporto con i nuovi dati, oppure il caricamento del contenuto nel browser dopo un postback. Questa proprietà non genera un'eccezione quando la pagina Web o il controllo lato client sta eseguendo un postback. Utilizzare questa proprietà per controllare se si sta aggiornando il rapporto o la pagina e se è possibile accedere ai metodi e alle proprietà.

Se si implementa una barra degli strumenti personalizzata, è possibile utilizzare questa proprietà per passare tra lo stato abilitato e quello disabilitato degli elementi della barra degli strumenti. È ad esempio possibile aggiungere un riferimento a script al codice JavaScript seguente nel controllo ScriptManager per passare tra lo stato abilitato e quello disabilitato di un pulsante esterno.

Nota

Il controllo ScriptManager garantisce che lo script a cui si fa riferimento venga eseguito prima del caricamento del controllo lato client. Ciò consente al gestore eventi di gestire tutte le modifiche alla proprietà 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();
    }
}

Nel caso in cui il controllo lato client stia eseguendo un postback a esecuzione prolungata, è possibile utilizzare il metodo Sys.WebForms.PageRequestManager.abortPostBack per annullare il postback. Ad esempio:

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

Vedere anche

Riferimento

Classe Microsoft.Reporting.WebFormsClient.ReportViewer

Altre risorse

Ajax Client Life-Cycle Events

Sys.Application.load Event

Sys.WebForms.PageRequestManager Class