ssrs services rsweb net ejemplo asp asp.net reporting-services reportviewer

asp.net - rsweb - sql reporting services vb net



El control ReportViewer devuelve una página en blanco (4)

He encontrado el problema, o más bien dos problemas:

  • Necesitaba tener un ScriptManager en la página. La creación de un proyecto completamente nuevo con la página web de prueba anterior arrojó el error sobre el requisito de ScriptManager, aunque una página de prueba en el proyecto original (y de hecho, mi página de producción original) no se quejó sobre el ScriptManager que faltaba. Debo haber eliminado el ScriptManager original por error. Para solucionarlo, todo lo que necesitaba agregar era:

    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>

  • En segundo lugar, y esto estaba en el código de producción en sí, tenía el parámetro

    ShowParameterPrompts="True"

    Con esta opción definida, la página no se cargaría, dando el mismo error que el anterior. Sin embargo, eliminar esa opción permitió que la página se cargara normalmente.

Tengo problemas con el control estándar ReportViewer de ASP.NET (v11, SQL 2012, VS 2012). Anteriormente, esto estaba funcionando en algún momento, conectándose a un servidor SSRS remoto, pero durante el desarrollo del sitio algo se rompió y estoy luchando por aislar la causa.

Si creo un formulario simple:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ReportTest.aspx.cs" Inherits="ReportTest" %> <%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> This is a test! <rsweb:ReportViewer ID="ReportViewer1" runat="server" ProcessingMode="Remote"> <ServerReport ReportPath="/Reports/MyTestReport" ReportServerUrl="http://sqlserver/reportserver" /> </rsweb:ReportViewer> </div> </form> </body> </html>

.. y ejecutar esto, no se muestra nada en el navegador. Ni siquiera el This is a test! texto, lo que indicaría que algo está "cayendo" en el lado del servidor. Respaldando esta teoría, usando Fiddler puedo ver que no hay ningún intento de contactar al servidor de informes.

He activado todas las capturas de excepción en Visual Studio, pero nada capta y no hay nada obvio que pueda ver en la salida. El control ReportViewer se muestra correctamente en modo Diseño y he reinstalado los redistribuibles de ReportViewer.


Creo que tuve algo así. Lo arreglé cuando agregué el código detrás de Page_Init en vez de Page_Load.

Intenta agregar esta línea:

rptv.ServerReport.Refresh();


this.ReportViewer1.AsyncRendering = false;

esto hizo que mi página funcionara.


Si está enviando un parámetro que puede aceptar valores nulos, debe definir esto en ReportViever accept null. Él no me define mostrar el informe en blanco sin dar ningún error.