SSRS 2016 ReportViewer嵌入IFrame无法定位指定文件夹求助
解决SSRS ReportViewer iframe默认打开Home文件夹的问题
问题分析
你当前使用的URL存在两个关键问题:
- 误用了报表管理器(
/Reports/)下的ReportViewer.aspx端点,该端点默认会跳转回Home文件夹;应使用报表服务器(/ReportServer/)的专属查看器端点。 - 仅指定了文件夹路径,未指向具体报表或明确的文件夹浏览入口,导致查看器无法定位目标内容,最终 fallback 到Home目录。
解决方案
根据你的实际需求选择对应方案:
方案1:打开报表管理器并定位到指定文件夹
如果需要在iframe中展示报表管理器的文件夹浏览界面(可查看该文件夹下所有报表),修改iframe的src为:
<iframe src="http://ServerName/Reports/Pages/Folder.aspx?DefaultItem=/ReportFolderName" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" id="activityFrame" style="width:100%; height:600px;" frameborder="0"></iframe>
- 核心参数:
DefaultItem=/ReportFolderName用于指定初始加载的文件夹路径,多级文件夹可写成/父文件夹/子文件夹格式,替换为你的实际路径即可。
方案2:直接在ReportViewer中打开指定文件夹下的报表
如果需要直接加载指定文件夹中的某张报表,修改src为:
<iframe src="http://ServerName/ReportServer/Pages/ReportViewer.aspx?/ReportFolderName/YourReportName&rs:embed=true" sandbox="allow-same-origin allow-scripts allow-popups allow-forms" id="activityFrame" style="width:100%; height:600px;" frameborder="0"></iframe>
- 注意事项:
- 必须使用
/ReportServer/端点而非/Reports/,这是SSRS专门用于报表渲染的服务端点。 - 路径需完整到具体报表名称:
/ReportFolderName/YourReportName,替换为你的实际文件夹和报表名称。 rs:embed=true参数保持不变,用于启用嵌入模式。
- 必须使用
额外检查项
- 确认
ServerName、ReportFolderName、YourReportName均为实际有效的名称,SSRS路径区分大小写。 - 验证目标文件夹/报表的访问权限,确保当前用户有权访问,避免因权限不足导致的跳转问题。
内容的提问来源于stack exchange,提问作者NoobCoder
相关产品推荐
相关产品推荐

