Unable to view SQL Server mobile report in asp.net report viewer

生来就可爱ヽ(ⅴ<●) 提交于 2021-02-08 13:09:23

问题


I am unable to see report viewer control in UI post button click and also in aspx I am getting the below error message in design view.

Error Creating Control - ReportViewer1Failed to create designer 'Microsoft.Reporting.WebForms.ReportViewer, Microsoft.ReportViewer.WebForms, 
Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

ASPX:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ExportReportToPDF.aspx.cs"
Inherits="ExportReportss.ExportReportToPDF" EnableEventValidation="false" %>

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, 
PublicKeyToken=b03f5f7f11d50a3a"
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">
    <br />
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:Button ID="btnGetReport" runat="server" Text="GetReport"     OnClick="btnGetReport_Click" />
        <rsweb:ReportViewer ID="ReportViewer1" runat="server">
        </rsweb:ReportViewer>
    </div>
</form>
</body>
</html>

Code Behind:

public partial class ExportReportToPDF : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void btnGetReport_Click(object sender, EventArgs e)
    {
        try
        {
            ReportViewer1.ProcessingMode = ProcessingMode.Remote;
            ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://Modile/Reports");
            ReportViewer1.ServerReport.Refresh();
        }
        catch (Exception ex)
        {

        }
    }        
}

In web.config file I have added the below lines under system.webServer tag

<handlers>
  <add name="ReportViewerWebControlHandler" preCondition="integratedMode"     verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</handlers>

I don't have access to the URL (http://Modile/Reports) I am using here and not sure if that is the issue. Can anyone help me this one?


回答1:


I found the solution and the issue was with the report viewer version 10 which I was using. I also gave a try with report viewer 12 and it still didn't work. But reportviewer version 11 worked perfectly and we can get them in the below link.

 https://www.microsoft.com/en-in/download/details.aspx?id=35747

We need to add this assembly tag in web config file.

<assemblies>
    <add assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <add assembly="Microsoft.ReportViewer.Common, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <add assembly="Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
    <add assembly="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
</assemblies>

Register Assembly in aspx page will look like this once we drag and drop the report viewer control.

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>



回答2:


If your visual studio version is 4.6 then add reference for Microsoft.ReportViewer.WebForms 12.0.0.0 and Microsoft.ReportViewer.WinForms 12.0.0.0 from Reference, and change Register Assembly version to 12.0.0.0.

In the aspx page, it will look like this:

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>

In web.config:

<system.web>
<httpHandlers>
  <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"
    validate="false" />
</httpHandlers>
<assemblies>
    <add assembly="Microsoft.ReportViewer.WebForms, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
    <add assembly="Microsoft.ReportViewer.Common, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
    <add assembly="Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
</assemblies>
<buildProviders>
    <remove extension=".rdlc" />
    <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</buildProviders>
</system.web>


<system.webServer> 
  <handlers>
  <remove name="ReportViewerWebControlHandler"/>
  <add name="Reenter code hereportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
  </handlers>
 </system.webServer>


来源:https://stackoverflow.com/questions/39910411/unable-to-view-sql-server-mobile-report-in-asp-net-report-viewer

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!