Share via


Configurazione di ReportViewer per il rendering asincrono

Per configurare il controllo del server Web ReportViewer per il rendering asincrono è necessario impostare le modalità di elaborazione e rendering.Il comportamento di rendering è specificato dalla proprietà AsyncRendering del controllo, mentre il comportamento di elaborazione è specificato dalla proprietà ProcessingMode.La combinazione di queste due proprietà definisce la modalità di rendering delle pagine ASP.NET.

Nella tabella seguente è illustrato il comportamento del controllo ReportViewer in presenza delle diverse modalità di elaborazione e rendering.

Impostazione delle proprietà

Modalità di elaborazione locale (classe LocalReport)

Modalità di elaborazione remota (classe ServerReport)

AsyncRendering = True

  • Utilizza IFRAME

  • Nessun postback 1

  • Elaborazione sincrona

  • Utilizza IFRAME

  • Nessun postback 1

  • Elaborazione asincrona

AsyncRendering = False

  • HTML inline

  • Postback

  • Elaborazione sincrona

  • HTML inline

  • Postback

  • Elaborazione sincrona

Quando AsyncRendering è impostato su True, si verificano postback se si sottoscrivono eventi di navigazione nel codice, ad eccezione dell'evento di drill-throughche esegue il postback a prescindere dalla sottoscrizione all'evento.Se la proprietà è impostata su False, i postback si verificano se sono stati sottoscritti eventi.

Modalità asincrona

Quando la proprietà AsyncRendering è impostata su True, ReportViewer il rendering del rapporto verrà eseguito all'interno di un IFRAME della pagina.L'IFRAME consente al resto della pagina di essere caricato senza venire bloccato dal controllo ReportViewer.

Entrambe le modalità di elaborazione locale e remota utilizzano un IFRAME per il rendering del rapporto.Esiste tuttavia una differenza nel modo in cui ReportViewer esegue il rendering di un indicatore di avanzamento eventualmente abilitato.Quando un rapporto è elaborato localmente, il rendering del relativo indicatore di avanzamento non può essere eseguito fino al completamento dell'elaborazione.Quando un rapporto è elaborato in remoto, il rendering dell'indicatore di avanzamento eventualmente abilitato viene eseguito durante l'elaborazione del rapporto sul server.

ms252090.collapse_all(it-it,VS.140).gifConsiderazioni relative a XHTML e al controllo del server Web ReportViewer

Se si configura l'esecuzione in modalità asincrona del controllo del server Web ReportViewer in un'applicazione scritta in XHTML, è necessario attenersi a procedure specifiche per visualizzare correttamente il controllo ReportViewer.Se nel controllo ReportViewer viene utilizzata l'altezza relativa (se ad esempio l'altezza viene specificata in percentuale rispetto allo spazio disponibile), il controllo viene compresso a un'altezza pari a zero (0) pixel in seguito al rendering dei frame e dei tag DIV nelle relative tabelle contenitore nel formato XHTML.Per ovviare a questo problema, utilizzare una delle soluzioni seguenti:

  • Impostare in modo esplicito l'altezza nel controllo ReportViewer specificando un valore effettivo anziché percentuale.

  • Aggiungere l'impostazione di stile seguente al tag<head>: <style>html,body,form {height:100%}</style>.Se si forzano i tag HTML, body e form impostandoli sull'altezza massima, anche l'altezza del frame utilizzato nel controllo ReportViewer risulterà pari a quella massima e il controllo sarà visibile nella pagina.

  • Rimuovere la dichiarazione doctype xhtml dalla pagina.

Modalità sincrona

Quando la proprietà AsyncRendering è impostata su False, il rendering del rapporto sarà eseguito da ReportViewer in formato HTML inline nel resto della pagina.Siccome il formato HTML è inline, il resto della pagina sarà bloccato durante l'elaborazione e il rendering del rapporto.

Nota

Se un rapporto contiene una mappa del documento e viene eseguito il rendering in modalità sincrona, la mappa del documento non sarà visualizzata.

Vedere anche

Riferimenti

ReportViewer

Proprietà di ReportViewer

Concetti

Impostazioni di Web.config per ReportViewer

Controlli del server Web e Windows Form di ReportViewer

Configurazione di ReportViewer per l'elaborazione locale

Configurazione di ReportViewer per l'elaborazione remota