Blackbaud ReportViewer Control Doesn’t Render in Internet Explorer 11

posted in: BBIS & BBNC, Blackbaud | 0

Symptoms

When viewing a report using the ReportViewer part in Internet Explorer 11, the report is not rendered. You may also find the following in the Event Viewer log for the BBIS web server.

  • Exception message: Missing URL parameter: IterationId

Solutions

Some versions of Internet Explorer are not properly detected and the ReportViewer control renders an invalid link. Add the following rewrite rule to the web.config file for BBIS.

<rewrite>
<rules>
<rule name="ReportViewerFix" patternSyntax="ECMAScript" stopProcessing="true">
<match url="(.*)Reserved\.ReportViewerWebControl\.axd(.*)" ignoreCase="true" />
<action type="Redirect"
redirectType="Temporary"
url="{R:1}/Reserved.ReportViewerWebControl.axd?IterationId=0"
appendQueryString="true" />
<conditions>
<add input="{QUERY_STRING}" pattern="ResourceStreamID=Blank.gif" />
<add input="{QUERY_STRING}" pattern="IterationId=0" negate="true" />
</conditions>
</rule>
</rules>
</rewrite>

Additionally, the report may render overlapping other content. Add the following javascript to remove the forced 400px height style property so that it doesn’t render over the top of other content.


<script type="text/javascript" language="javascript">
// Sets the function to run when a postback occurs
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoadedRequestHandler);

function pageLoadedRequestHandler(sender, args){
$("div[id$='_ReportViewer1']").css("height", "");
}
</script>

Leave a Reply