MS ReportViewer control: after drillthrough, hangs on "Loading..."

I have a ReportViewer control (10.0) inside an aspx (.NET 4.0) web page hosted in IIS 7.5. The default report view works fine, but as soon as I click any link for drillthrough/drilldown, the animated "Loading..." message box pops up and stays there forever. This happens every time; it didn't used to happen on win03/IIS6.

I verified that the stored procedure and the RDLC file are both good. No problems or errors, stored proc returns results fast. Connection strings confirmed valid, etc.

In Web.config I have:

<pages enableEventValidation="false">
      <controls>
        <add tagPrefix="rsweb" namespace="Microsoft.Reporting.WebForms" assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
      </controls>
    </pages>
  </system.web>
  <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>
    <validation validateIntegratedModeConfiguration="false" />
  </system.webServer>

Open in new window


Note: <pages enableEventValidation="false">  (this has to be false or else I get nasty ajax-related javascript errors)

In the aspx I have:
<asp:scriptmanager ID="ScriptManager1" runat="server" />
<rsweb:ReportViewer ID="ReportViewer1" BackColor="White" OnDrillthrough="DrillHandler" OnBack="xqtBackup" runat="server" />
LVL 11
SweatCoderAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Alfred A.Commented:
-------> I get nasty ajax-related javascript errors

I believe I experienced this before and what I did is disabled the partial rendering within the page.   See the sample code below. (I am not sure if you are using VB or C# but I created both below).  By the way, I put a ScriptManager control in a Master page.  You can just remove the FindControl part if your ScriptManager control is in the page.  Also, you don't need to set enableEventValidation="false if you do what I suggested.  I hope this helps.

 
'VB 

Private Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Page.Init
     Dim ScriptManager1 = CType(Master.FindControl("ScriptManager1"), ScriptManager)
     ScriptManager1.EnablePartialRendering = False
End Sub

//C#

protected void Page_Init(object sender, EventArgs e)
{
     var ScriptManager1 = (ScriptManager)Page.Master.FindControl("ScriptManager1");
     ScriptManager1.EnablePartialRendering = false;
}

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Alfred A.Commented:
Check this out.  It might help you sort your problem with AJAX and Report Viewer:

http://forums.asp.net/p/1340895/2713548.aspx
0
SweatCoderAuthor Commented:
Alfred1,

Thanks, you nailed it. Although it was easier to do this declaratively:

<asp:scriptmanager ID="ScriptManager1" EnablePartialRendering="false" runat="server" />

No need to write code in codebehind.
0
Alfred A.Commented:
Yes.  That would be a better solution if you really don't need partial rendering in your page.

In my case before, my ScriptManager was in a Master Page and there were Content Pages that I need to enable partial rendering because I do partial-page updates in those pages and that is why I put it in code-behind.  

Glad I could help.  :-)
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
AJAX

From novice to tech pro — start learning today.