【问题标题】:ASP.NET DrillThrough event in reportviewer报表查看器中的 ASP.NET DrillThrough 事件
【发布时间】:2013-09-07 02:54:56
【问题描述】:

我在我的页面中添加了一个报告查看器:

   <asp:ScriptManager ID="Scriptmanager1" runat="server"></asp:ScriptManager>
    <rsweb:ReportViewer ID="repViewer" runat="server" Width="100%" Height="100%" OnDrillthrough="repViewer_Drillthrough"></rsweb:ReportViewer>

报告加载正常,但是当我单击钻取列(链接)时,报告似乎重新加载(报告的导航按钮被禁用并再次启用),但就是这样,不会触发 OnDrillthrough 事件(没有到达断点)。

我做错了什么?

编辑

在玩了更多控制之后,我注意到实际上没有任何效果。 Paging、Searching、DrillingThrough 等等……报告被禁用并再次启用,但它始终显示相同的数据集(基本上是第一页……)

还有一件事。我的网站上没有本地报告。我使用 ReportViewer 访问远程报告。代码如下:

  protected void Page_Load(object sender, EventArgs e)
    {

        repViewer.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote;
        repViewer.ServerReport.ReportServerUrl = new Uri("http://mssql/reportserver");
        repViewer.ServerReport.ReportPath = "/Domiciliations/myreport";
        repViewer.ServerReport.Refresh();
    }

【问题讨论】:

  • 报告的文件扩展名是 .rdl 还是 .rdlc?你发现任何错误吗?
  • 当您在报表服务器(SSRS 主机)上运行报表时,它是否正常工作? (即,错误是否仅发生在 reportviewer 中)?
  • 是的,在服务器上它工作得非常好。只有在报表查看器中运行报表时才会出现此问题。
  • 您是否通过代理或网关(如 RSA)或 SharePoint 或其他将重写 URL 的包装器运行任何这些?当我通过 AquaLogic(一个在我的 asp.net 东西前面提供安全层的网络包装器/代理)运行报告时,我遇到了同样的事情。
  • 是的,我确实有一个 URL 重写模块。但是我禁用了它,因为我认为问题可能来自于此。它不会改变任何东西。当我与报告交互(分页、搜索……)时,我可以看到正在下载 javascript,所以它绝对不是重写 url。

标签: asp.net reportviewer


【解决方案1】:

我刚刚发现了问题。每次页面加载时,您都会重新绑定报表并擦除任何其他状态更改。您应该仅在页面未回发时对其进行初始化。试试这个:

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack())
    {
        repViewer.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote;
        repViewer.ServerReport.ReportServerUrl = new Uri("http://mssql/reportserver");
        repViewer.ServerReport.ReportPath = "/Domiciliations/myreport";
        repViewer.ServerReport.Refresh();
    }
}

【讨论】:

  • eeeeeehhhhh,我不敢相信我忘记了那个很好的旧时尚 IsPostback !我从事 ASP.NET MVC 已经有几年了,而且我已经很久没有使用过这个功能了。我现在不在工作,所以我无法测试,但这听起来很像我的问题的解决方案。我会尽快回复你。有眼光!
猜你喜欢
  • 1970-01-01
  • 2012-10-01
  • 1970-01-01
  • 2017-08-21
  • 2017-02-16
  • 1970-01-01
  • 1970-01-01
  • 2010-12-04
  • 1970-01-01
相关资源
最近更新 更多