DeviceInfo (ActionScript) for HTML Renderer ignored?

  • Hi,

    I'm trying to render my reports through the ReportExecution2005-Webservice as HTML4.0. The result will be showed as part of a website. So I have written some kind of a custom ReportViewer-Web-Component. Because I want to have the reports HTML-Code embedded in my page, I need to get custom Hyperlinks (for Drillthrough, Toggle, etc) instead of the default links, which point to the ReportServer-URL. There are some settings for the renderers DeviceInfo listed in the MSDN (http://msdn.microsoft.com/en-us/library/ms155395.aspx). One of these is "ActionScript", which you can set a Javascript-Method, which should generate an onClick-Attribute for the hyperlinks instead of href-Attribute. Yes, this DeviceInfo-Setting is deprecated, but should still work in 2014. The actual ReportViewer-Web-Component is using this setting too, and it works.

    I'm expecting a hyperlink like this:

    <A onclick="ClientReport16f94fc5675c8e46c12032961.ActionHandler('Drillthrough','285iT0R0x4:0');return false;" tabIndex=9 onkeypress="if(event.keyCode == 13 || event.which == 13){ClientReport16f94fc5675c8e46c12032961.ActionHandler('Drillthrough','285iT0R0x4:0');}return false;" class=a320a style="CURSOR: pointer; FONT-WEIGHT: 400; COLOR: black" href="" target=_top>My Drillthrough Action</A>

    instead of

    <a tabindex="9" class="a320a" style="color: black; font-weight: 400;" href="http://192.168.0.123/ReportServer?%2FReports%2FMyDrillthroughReport&rs%3AParameterLanguage=&rc%3AParameters=Collapsed&rc%3AToolbar=False">My Drillthrough Action</a>

    In my case this setting seems to be ignored. I'm getting only the normal hyperlink with href to the Report Server. My DeviceInfo looks like this:

    <DeviceInfo>

    <StreamRoot>/report/content/</StreamRoot>

    <ResourceStreamRoot>/content/images/</ResourceStreamRoot>

    <ActionScript>InvokeReportAction</ActionScript>

    <UserAgent>Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko</UserAgent>

    </DeviceInfo>

    StreamRoot and ResourceStreamRoot working perfect however they are deprecated, too.

    Any ideas what's wrong?

    I'm getting no errors and no warnings.

    I'm wondering why these settings are deprecated, but no other solution is recommended?! What could I use instead? The only other solution I can imagine is to manipulate the HTML-String, but this seems to me very dirty.

  • Problem solved 🙂

    Some DeviceInfos working only with "modern browsers". This depends on the user-agent of the calling client. WCF doesn't send an user-agent by default so it's not a "modern browser" and some DeviceInfos are ignored. This fact doesn't seems to be documentet anywhere 🙁

    The solution is to write an endpoint behavior for the WCF Service which sets the user-agent for example to IE 11 (which is a modern browser for SSRS 🙂 ).

Viewing 2 posts - 1 through 1 (of 1 total)

You must be logged in to reply to this topic. Login to reply