Link to home
Start Free TrialLog in
Avatar of canuckconsulting
canuckconsultingFlag for United Kingdom of Great Britain and Northern Ireland

asked on

Unable to use ReportViewer in asp.net web forms application

I have installed the ReportViewer version 11 download and am struggling to get it to work at all in Visual Studio 2013.  

I created an empty web ASP.Net Web application and add a webform.  To this aspx I drag from the toolbox a ScriptManager control as well as a ReportViewer control.  Doing this adds the following line at the top of the file:

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

Open in new window


I check references and see that Microsoft.ReportViewer.WebForms exists and is of version 11.


 Finally here is my updated Web.config:

<?xml version="1.0"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>

  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
  </system.webServer>
  <system.web>

    <httpHandlers>
      <add verb="*" path="Reserved.ReportViewerWebControl.axd" type = "Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    </httpHandlers>



    <compilation debug="true" targetFramework="4.5">
      <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"/>
      </assemblies>
    </compilation>
    <httpRuntime targetFramework="4.5"/>
  </system.web>
</configuration>

Open in new window


Running the project gives the following error:

0x800a1391 - JavaScript runtime error: 'Microsoft' is undefined

Open in new window

Avatar of Miguel Oz
Miguel Oz
Flag of Australia image

Did you add script manager control before adding ReportViewer control?
Typical steps are:
1. Add a page.
2. Open the Toolbox window. From the AJAX Extensions group, drag a ScriptManager control onto the design surface.

3. From the Toolbox window, in the Reporting group, drag a ReportViewer control onto the page below the ScriptManager control.
Avatar of canuckconsulting

ASKER

Yes, did that exactly.

I've uploaded the test solution here in case it helps:

Solution
What line are you getting this error from?
I am so sorry for the late reply!

I get the error from here from the line beginning "$create(Microsoft.Reporting.WebFormsClient":

<script type="text/javascript">
//<![CDATA[
Sys.Application.add_init(function() {
    
if (typeof Microsoft == 'undefined' ||
    typeof Microsoft.Reporting == 'undefined' ||
    typeof Microsoft.Reporting.WebFormsClient == 'undefined' ||
    typeof Microsoft.Reporting.WebFormsClient.ReportViewer == 'undefined')
    Sys.UI.DomElement.setVisible($get('ctl00_ContentPlaceHolder1_ReportViewer1_HttpHandlerMissingErrorMessage'), true);
    $create(Microsoft.Reporting.WebFormsClient.ReportViewer, {"_internalViewerId":"ctl00_ContentPlaceHolder1_ReportViewer1_ctl03","id":"ctl00_ContentPlaceHolder1_ReportViewer1"}, null, null);
});

Open in new window


The error I receive is:

User generated image
Please give me time to retrace my own solution.

I had EXACTLY  the same problem two or three months ago but I can't remember how I resolved it.

I will be once I remember.
I'd be very grateful if you can help1  My deadline is rapidly approaching and I have no idea how I'm going to get this sorted.

Thanks,

Scott
ASKER CERTIFIED SOLUTION
Avatar of sammySeltzer
sammySeltzer
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks very much for the link.

Unfortunately those tips have not done the trick for me. I 'm really stuck on this as I can't get this control to work on either my Windows 8 laptop running Visual Studio 2013 nor my w7 machine running Visual Studio 2012.

Could I trouble someone to download the project I uploaded and see if it works on another environment?  Or alternatively build the smallest asp.net solution with the report viewer in a page and upload it so I can see if it works on my system?

Many thanks,
Once I added the following worked great.  Thank you for your help!


  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <handlers>
      <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    </handlers>
  </system.webServer>