2016-10-07 18 views
8

Tôi không thể nhìn thấy kiểm soát trình xem báo cáo trong nhấp vào nút bài đăng UI và cũng trong aspx Tôi nhận được thông báo lỗi dưới đây trong chế độ xem thiết kế.Không thể xem báo cáo di động SQL Server trong trình xem báo cáo asp.net

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> 

Mã Đằng sau:

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) 
     { 

     } 
    }   
} 

Trong file web.config Tôi đã thêm các dòng dưới đây theo tag system.webServer

<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> 

Tôi không có quyền truy cập vào URL (http://Modile/Reports) Tôi đang sử dụng ở đây và không chắc chắn đó có phải là vấn đề hay không. Bất cứ ai có thể giúp tôi này?

+0

Thay vì làm cho một sản phẩm nào bắt-Block, bạn thực sự nên tìm ra, ** nếu ** có bất kỳ Ngoại lệ nào. – lokusking

+0

Tôi đã thử rằng quá và không có ngoại lệ xuất hiện. – Learner

+0

Bạn đang sử dụng phiên bản VS nào? – jlvaquero

Trả lời

4

Tôi đã tìm thấy giải pháp và sự cố xảy ra với trình xem báo cáo phiên bản 10 mà tôi đang sử dụng. Tôi cũng đã thử với trình xem báo cáo 12 và nó vẫn không hoạt động. Nhưng reportviewer phiên bản 11 làm việc hoàn hảo và chúng tôi có thể nhận được chúng trong liên kết dưới đây.

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

Chúng tôi cần thêm thẻ lắp ráp này vào tệp cấu hình web.

<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> 

Đăng ký Lắp ráp trong trang aspx sẽ giống như thế này khi chúng tôi kéo và thả điều khiển trình xem báo cáo.

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

Nếu phiên bản visual studio của bạn là 4,6 sau đó thêm tài liệu tham khảo cho Microsoft.ReportViewer.WebForms 12.0.0.0 và 12.0.0.0 Microsoft.ReportViewer.WinForms từ Reference, và thay đổi Đăng ký hội phiên bản 12.0.0.0.

Trong trang aspx, nó sẽ giống như thế này:

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

Trong 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> 
+1

Phiên bản VS của tôi là 4.5 – Learner

Các vấn đề liên quan