ReportViewer在本地工作,而不是在服务器上工作

时间:2015-08-17 19:12:59

标签: asp.net server reportviewer

<rsweb:ReportViewer ID="ReportViewer1" runat="server" SizeToReportContent="True">
    <LocalReport ReportPath="/Activity/Reports/Report.rdlc">
        <DataSources>
            <rsweb:ReportDataSource DataSourceId="ObjectDataSource1" Name="dsActivity" />
            <rsweb:ReportDataSource DataSourceId="ObjectDataSource2" Name="dsPoints" />
            <rsweb:ReportDataSource DataSourceId="ObjectDataSource3" Name="dsEnterprise" />
        </DataSources>
    </LocalReport>
</rsweb:ReportViewer>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="ListAct" TypeName="App.BL.Activity"></asp:ObjectDataSource>
<asp:ObjectDataSource ID="ObjectDataSource2" runat="server" SelectMethod="ListPts" TypeName="App.BL.Points"></asp:ObjectDataSource>
<asp:ObjectDataSource ID="ObjectDataSource3" runat="server" SelectMethod="ListEtp" TypeName="App.BL.Enterprise"></asp:ObjectDataSource>

此代码在调试时有效,但是当我在服务器上发布它时,它会显示以下错误消息:

本地报告处理期间发生错误 报告“报告”的报告定义尚未指定 找不到文件'E:\ Groups \ Tech \ appWebHlg \ Report.rdlc'。

不知何故,ReportPath没有将它发送到Report.rdlc,如何在服务器端找到它?我可以使用任何绝对路径吗?如何让ReportViewer找到报告?

1 个答案:

答案 0 :(得分:1)

您需要更改服务器的ReportPath。 ReportPath需要是服务器硬盘上的绝对路径。

大多数人发现在执行报告时最好在代码中设置报告路径。例如(c#)

_.min([]) === Infinity