首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未指定报表定义的来源3

未指定报表定义的来源3
EN

Stack Overflow用户
提问于 2014-05-05 16:19:56
回答 2查看 13.7K关注 0票数 1

我正在使用Asp.net MVC 4。

我有个片段:

代码语言:javascript
复制
var data = // fill my data.
var rds = new ReportDataSource("MyDataset", data);

var viewer = new ReportViewer();

viewer.LocalReport.Refresh();
viewer.LocalReport.DataSources.Clear();
viewer.LocalReport.DataSources.Add(rds);
viewer.LocalReport.ReportPath = @"Reports/Report1.rdlc";

string mimeType, encoding, extension;
string[] streamids;
Warning[] warnings;

var buffer = viewer.ServerReport.Render("PDF", "C:", out mimeType, out encoding, out extension, out streamids, out warnings);

但是方法Render抛出一个异常:

Microsoft.Reporting.WebForms.MissingReportSourceException:尚未指定报表定义的来源。

我正在搜索和发现:这1这2这3和其他人。

使用这些链接我尝试过:

尝试1:

代码语言:javascript
复制
viewer.LocalReport.ReportPath = @"../Reports/Report1.rdlc";

尝试2:

代码语言:javascript
复制
viewer.LocalReport.ReportPath = @"../../Reports/Report1.rdlc";

尝试3:

代码语言:javascript
复制
viewer.LocalReport.ReportPath = @"~/Reports/Report1.rdlc";

尝试4:

代码语言:javascript
复制
viewer.LocalReport.ReportPath = Server.MapPath(@"~/Reports/Report1.rdlc");

尝试5:

代码语言:javascript
复制
var fileName = Server.MapPath(@"~/Reports/Report1.rdlc");
using (var fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
    viewer.LocalReport.LoadReportDefinition(fs);
}

然而,所有这些尝试都会引发相同的异常。

有人有什么想法吗?我几个小时试着让它正常工作。

EN

回答 2

Stack Overflow用户

发布于 2015-02-03 04:34:58

请确保您在使用

代码语言:javascript
复制
reportViewer1.LocalReport.ReportPath = @"path/reportName.rdlc"

报表位于调试或发布的bin文件夹以外的场景

或者你可以用

代码语言:javascript
复制
reportViewer1.LocalReport.ReportPath = @"reportName.rdlc"

当它在application.StartupPath

票数 2
EN

Stack Overflow用户

发布于 2014-05-05 16:26:38

试试这个:

代码语言:javascript
复制
var data = // fill my data.
var rds = new ReportDataSource("MyDataset", data);

var viewer = new ReportViewer();

viewer.LocalReport.Refresh();
viewer.LocalReport.DataSources.Clear();
viewer.LocalReport.DataSources.Add(rds);




            string fileName=  "Reports/Report1.rdlc";

        FileStream S = new FileStream(Server.MapPath(fileName), FileMode.Open);
        viewer.LocalReport.LoadReportDefinition(S);
        S.Close();

string mimeType, encoding, extension;
string[] streamids;
Warning[] warnings;

var buffer = viewer.ServerReport.Render("PDF", "C:", out mimeType, out encoding, out extension, out streamids, out warnings);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23477148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档