Share via


Konfigurieren von ReportViewer für asynchrones Rendering

Um das ReportViewer-Webserver-Steuerelement für asynchrones Rendering zu konfigurieren, müssen Sie die Rendering- und Verarbeitungsmodi festlegen.Das Renderingverhalten wird durch die AsyncRendering-Eigenschaft des Steuerelements definiert, das Verarbeitungsverhalten durch die ProcessingMode-Eigenschaft.Die Kombination dieser zwei Eigenschaften legt fest, wie ASP.NET-Seiten gerendert werden.

In der folgenden Tabelle wird das Verhalten des ReportViewer-Steuerelements für die unterschiedlichen Rendering- und Verarbeitungsmodi beschrieben.

Eigenschafteneinstellung

Lokaler Verarbeitungsmodus (LocalReport-Klasse)

Remoteverarbeitungsmodus (ServerReport-Klasse)

AsyncRendering = True

  • Verwendet IFRAME

  • Kein Postback 1

  • Synchrone Verarbeitung

  • Verwendet IFRAME

  • Kein Postback 1

  • Asynchrone Verarbeitung

AsyncRendering = False

  • Inline-HTML

  • Postback

  • Synchrone Verarbeitung

  • Inline-HTML

  • Postback

  • Synchrone Verarbeitung

Wenn AsyncRendering auf True festgelegt ist, werden beim Abonnieren von Seitennavigationsereignissen (mit Ausnahme des Drillthroughereignisses) im Code Postbacks ausgeführt.Dieses Ereignis sendet unabhängig von Ereignisabonnement zurück.Wenn die Eigenschaft auf False festgelegt ist, werden Postbacks unabhängig davon ausgeführt, ob Ereignisse abonniert wurden oder nicht.

Asynchroner Modus

Wenn die AsyncRendering-Eigenschaft auf True festgelegt wurde, wird der Bericht vom ReportViewer innerhalb eines IFRAME auf der Seite gerendert.Mithilfe eines IFRAME kann der Rest der Seite geladen werden, ohne durch das ReportViewer-Steuerelement geblockt zu werden.

Sowohl der lokale als auch der Remoteverarbeitungsmodus verwenden einen IFRAME zum Rendern des Berichts.Es gibt jedoch einen Unterschied in der Art und Weise, wie der ReportViewer eine Statusanzeige rendert, wenn diese aktiviert ist.Wenn ein Bericht lokal verarbeitet wird, kann die Statusanzeige für den Bericht erst gerendert werden, wenn die Verarbeitung abgeschlossen ist.Wenn ein Bericht remote verarbeitet wird, wird die Statusanzeige (sofern aktiviert) angezeigt, während der Bericht auf dem Server verarbeitet wird.

ms252090.collapse_all(de-de,VS.140).gifÜberlegungen zum Verwenden von XHTML und dem ReportViewer-Webserver-Steuerelement

Wenn Sie das ReportViewerWebserver-Steuerelement so konfigurieren, dass es im asynchronen Modus in einer XHTML-Anwendung ausgeführt wird, müssen Sie bestimmte Schritte ausführen, damit das ReportViewer-Steuerelement ordnungsgemäß angezeigt wird.Wenn das ReportViewer-Steuerelement eine relative Höhe verwendet (wenn die Höhe z. B. als Prozentsatz des verfügbaren Platzes angegeben wird), wird das Steuerelement aufgrund der Art und Weise, wie in Tabellen in XHTML Frames und DIV-Tags gerendert werden, auf eine Höhe von Null (0) Pixel reduziert.Sie können dies durch eine der folgenden Vorgänge vermeiden:

  • Legen Sie die Höhe des ReportViewer-Steuerelements explizit auf einen tatsächlichen Wert statt auf einen Prozentsatz fest.

  • Fügen Sie dem <head>-Tag die folgende Stileinstellung hinzu: <style>html,body,form {height:100%}</style>.Indem Sie für die HTML-, body- und form-Tags die maximale Höhe erzwingen, wird der im ReportViewer-Steuerelement verwendete Frame ebenfalls auf die maximale Höhe vergrößert. Dadurch wird er auf der Seite sichtbar.

  • Entfernen Sie die Dokumenttypdeklaration für XHTML von der Seite.

Synchroner Modus

Wenn Sie die AsyncRendering-Eigenschaft auf False festlegen, wird der Bericht vom ReportViewer im Rest der Seite als Inline-HTML-Code gerendert.Da es sich um Inline-HTML-Code handelt, wird der Rest der Seite blockiert, solange der Bericht verarbeitet und gerendert wird.

Hinweis

Enthält ein Bericht eine Dokumentstruktur und wird diese im synchronen Modus gerendert, wird die Dokumentstruktur nicht angezeigt.

Siehe auch

Referenz

ReportViewer

ReportViewer Properties

Konzepte

Web.config-Einstellungen für ReportViewer

ReportViewer-Webserver und -Windows Forms-Steuerelemente

Konfigurieren von ReportViewer für die lokale Verarbeitung

Konfigurieren von ReportViewer für die Remoteverarbeitung