I've installed SSRS and created a report that requires a parameter. I open the page using a parameter called GameId
and pass that page parameter into the report parameter:
In the onscreen preview for the report, I see this:
When the you click the button that tries to load the page I get a console error:
blazor.server.js:15 [2020-02-07T15:56:51.306Z] Error: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: The best overloaded method match for 'Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck<string>(string)' has some invalid arguments
at CallSite.Target(Closure , CallSite , Type , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite site, T0 arg0, T1 arg1)
at SuttonPokerResults.Pages.GameDetailsPrint.<BuildRenderTree>b__0_1(RenderTreeBuilder __builder3)
at Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddContent(Int32 sequence, RenderFragment fragment)
at Radzen.Blazor.RadzenSSRSViewer.<BuildRenderTree>b__0_0(RenderTreeBuilder __builder2)
at Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddContent(Int32 sequence, RenderFragment fragment)
at Microsoft.AspNetCore.Components.CascadingValue`1.Render(RenderTreeBuilder builder)
at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment)
at Microsoft.AspNetCore.Components.RenderTree.Renderer.RenderInExistingBatch(RenderQueueEntry renderQueueEntry)
at Microsoft.AspNetCore.Components.RenderTree.Renderer.ProcessRenderQueue()
The only way I can make it work is to change the parameter in the page that holds the report viewer from dynamic
to int
as it's an int
I'm passing, then in the page markup add .ToString()
to the Value
of the report parameter:
<RadzenSSRSViewerParameter ParameterName="id" Value="@(GameId.ToString())">
</RadzenSSRSViewerParameter>
Obviously this fix breaks as soon as I modify the page in anyway as the designer overwrites my code.
Can you help?
Thanks.