如何在Blazor应用程序中使用FastReport

时间:2019-09-09 15:58:02

标签: blazor fastreport

我目前正在测试blazor服务器端框架。 我想在“剃刀组件”页面中使用FastReport。 我的问题是FastReport RenderSync / Async方法向我返回了一个HtmlString。我试图将其强制转换为MarkupString,然后将其插入html代码,但报告未显示。 我认为问题在于,blazor使用了“ shadowDOM”并更改了HTML标记。 有时我看到报告呈现了一秒钟。 有没有可能防止blazor触摸此代码? 还是有其他解决方案,例如每个 并按照javascript注入它。

感谢帮助

@page "/"
@inherits IndexBase
<div class="container">
  @((MarkupString)report.RenderSync().Value)
</div>


public IndexBase() {
  _reportFn = @"C:\tmp\Report\report.frx";
  report = new WebReport();
  report.Report.Load(_reportFn);
  var dataSet = new DataSet();
  dataSet.ReadXml(@"C:\tmp\Report\nwind.xml");
  report.Report.RegisterData(dataSet, "NorthWind");
}

1 个答案:

答案 0 :(得分:1)

我认为方向错误。 问题不是影子dom和blazor框架的操纵。 问题是注入的HtmlString中的javascript没有执行。 现在,我从HtmlString中提取脚本标签,并使用javascript注入脚本标签。 ;-)