Unable to use ReportViewer in asp.net web forms application

canuckconsulting
canuckconsulting used Ask the Experts™
on
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

Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Miguel OzSenior Software Engineer
Top Expert 2009

Commented:
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.

Author

Commented:
Yes, did that exactly.

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

Solution
Top Expert 2011

Commented:
What line are you getting this error from?
Learn SQL Server Core 2016

This course will introduce you to SQL Server Core 2016, as well as teach you about SSMS, data tools, installation, server configuration, using Management Studio, and writing and executing queries.

Author

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

error
Top Expert 2011

Commented:
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.

Author

Commented:
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
Top Expert 2011
Commented:
Sorry, I am under the gun too.

My app goes LIVE tomorrow, yea.

I will then dedicate more time to helping you out.

In the meantime, review this link and see how helpful it might be for you.

It is my understanding that because IIS7 handler mappings does not contain reserved word when placed in the handler section. As a result these suggested workarounds might do it.

http://otkfounder.blogspot.com/2007/11/solving-reportviewer-rendering-issue-on.html

I will have a little more time tomorrow to look into my folders.

Author

Commented:
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,

Author

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

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial