Básicamente quiero saber cómo incrustar un informe en MVC.Net 2.Cómo utilizar ReportViewer 2010 en MVC.NET 2
Respuesta
me hizo la pregunta, porque no hay suficiente información en la web, o la información no es tan completo para que pueda comenzar a trabajar.
Lo primero que debe saber es que el visor de informes es un control web, por lo que no puede usarlo en MVC, entonces lo primero que debe hacer es crear un formulario web para poder agregar el visor de informes. En el ejemplo que he hecho estoy usando Visual Studio 2010.
El formulario web es el siguiente:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Report Viewer</title>
</head>
<body>
<div style="width: auto;">
<form id="form1" runat="server" style="width: 100%; height: 100%;">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<rsweb:ReportViewer ID="rptViewer" runat="server" Width="100%" Height="100%" AsyncRendering="False"
SizeToReportContent="True">
</rsweb:ReportViewer>
</form>
</div>
</body>
</html>
El código detrás del formulario web:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
var reportServer = ConfigurationManager.AppSettings["ReportServer"].ToString();
var reportPath = ConfigurationManager.AppSettings["ReportPath"].ToString();
rptViewer.ServerReport.ReportServerUrl = new Uri(reportServer);
rptViewer.ShowToolBar = false;
rptViewer.ServerReport.ReportPath = reportPath + Request.QueryString["ReportName"];
List<ReportParameter> parameters = new List<ReportParameter>();
string[] keys = Request.QueryString.AllKeys;
for (int i = 1; i < Request.QueryString.Count; i++)
{
parameters.Add(new ReportParameter(keys[i], Request.QueryString[i]));
}
this.ReportViewer1.ServerReport.SetParameters(parameters);
this.ReportViewer1.ProcessingMode = ProcessingMode.Remote;
this.ReportViewer1.ShowParameterPrompts = false;
this.ReportViewer1.ShowPromptAreaButton = false;
this.ReportViewer1.ServerReport.Refresh();
rptViewer.ProcessingMode = ProcessingMode.Remote;
rptViewer.ServerReport.Refresh();
}
}
Ahora necesitamos usar el MVC. Tenemos dos opciones una, abrir una nueva ventana con una ventana emergente de JavaScript o usar un iframe.
voy a hacer ambas cosas para que pueda tener una mejor idea sobre el Vista:
<iframe id="Frame1" src="<%= Session["Url"] %>" width="230" height="230" frameborder="0"></iframe> **1
function OpenReports(name) {
var width = (screen.availWidth - 700).toString();
var height = (screen.availHeight - 100).toString();
window.open('/Reporting/Reports.aspx?ReportName=' + name,
'mywindow', 'width=' + width + ',height=' + height + ',toolbar=no,location=no,directories=yes,status=no,' +
'menubar=no,scrollbars=yes,copyhistory=yes,resizable=yes' + ',screenX=0,screenY=0,left=0,top=0');
} **2
** 1 SessionURL es una variable de sesión con la ruta y el informe que queremos mostrar. También esta es la primera forma de hacer incrustar el informe usando un iframe
** 2 /Reporting/Reports.aspx es la ruta del formulario web que acabamos de hacer. Esta es la segunda manera, abrir una nueva ventana.
En el controlador:
public ActionResult ViewName()
{
Session["Url"] = "/Reporting/Reports.aspx?ReportName=Report44";
return View();
}**1
** 1 /Reporting/Reports.aspx es el camino del formulario web que acabamos de hacer eaelier.
También si su están utilizando Visor de informes 10 recuerde esta característica en el web.config:
<system.web>
<httpHandlers>
<add verb="*" path="Reserved.ReportViewerWebControl.axd" type = "Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</httpHandlers>
</system.web>
la esperanza de todo este tutorial ayuda a alguien :)
- 1. ReportViewer 2010 no puede evaluar expresiones
- 2. ReportViewer 11 (2012) Visual Studio 2010
- 3. Uso del control ReportViewer 9 en VS 2010
- 4. ASP MVC.NET: cómo vincular KeyValuePair?
- 5. Cómo pasar ObjectId desde MongoDB en MVC.net
- 6. ReportViewer
- 7. MVC.net JQuery Validation
- 8. Cómo utilizar BigInteger en VS 2010
- 9. MVC.NET comenzar a descargar
- 10. mvc.net cómo utilizar ayudantes inflexible mientras iteración a través de la lista
- 11. ¿Cómo busco manualmente una ruta en el MVC.Net de RouteTable?
- 12. Uso de MS ReportViewer en WPF
- 13. MS Visual Studio 2010 Cómo utilizar el asm archivo generado
- 14. cómo fusionar 2 imágenes sin utilizar el conjunto alfa?
- 15. Exportar C# reportviewer control programmatically
- 16. Proyecto de referencia en RDLC ReportViewer Informe
- 17. Botón Printview ReportViewer en Google Chrome
- 18. Problemas de desplazamiento de ReportViewer en IE
- 19. Acceso a valores de ruta en vista Mvc.net
- 20. Copia elisión en Visual C++ 2010 Beta 2
- 21. Etiqueta del servidor desconocido 'rsweb: ReportViewer'
- 22. ReportViewer - ¿modifica la barra de herramientas?
- 23. Uso de SSRS con ASP.Net ReportViewer
- 24. cómo utilizar pylint en vim
- 25. Cómo imprimir el informe de ReportViewer sin mostrar un formulario
- 26. Microsoft ASP.NET ReportViewer Error del analizador
- 27. Crystal Reports vs ReportViewer Pros/Cons?
- 28. VS 2010 Beta 2: "ResGen.exe" no se pudo ejecutar
- 29. Cómo usar sched_getaffinity (2) y sched_setaffinity (2). Por favor, dar ejemplo de código para utilizar en el programa de C
- 30. ¿Cómo utilizar la función de explotar en PHP usando 2 delimitadores en lugar de 1?
Se hizo ayudar a alguien - yo. Muchas gracias. – Peanut
En relación con "Lo primero que debe saber es que el visor de informes es un control web, por lo que no puede usarlo en MVC", esto es incorrecto como una declaración general. [Puedes hacer que los controles web funcionen en MVC.] (Http://blogs.teamb.com/craigstuntz/2009/05/12/38297/). Sin embargo, todavía no lo he probado con el visor de informes. –
me ayudó mucho. Gracias, Sergio. – AEMLoviji