C# Asp MVC加载报告失败
我第一次尝试将crystal report与asp mvc一起使用,但在加载报告时遇到一些问题:C# Asp MVC加载报告失败,c#,asp.net-mvc,crystal-reports,C#,Asp.net Mvc,Crystal Reports,我第一次尝试将crystal report与asp mvc一起使用,但在加载报告时遇到一些问题: ReportClass rptH = new ReportClass(); rptH.FileName = Server.MapPath("Reports/TestReport.rpt"); rptH.Load(); 这是rptH.FileName的值 "rassdk://D:\\ProjectDir\\Pro\\Pro.WebUI\\Reports
ReportClass rptH = new ReportClass();
rptH.FileName = Server.MapPath("Reports/TestReport.rpt");
rptH.Load();
这是rptH.FileName的值
"rassdk://D:\\ProjectDir\\Pro\\Pro.WebUI\\Reports\\TestReport.rpt"
但是在Load()
上,我得到异常:
加载报告失败
报表没有任何数据源,它只是一个带有一些文本的空白报表。也许这很重要。我将项目设置为在本地IIS上运行(不在VS中)
更新
我对代码做了一点修改,但现在出现了一些其他错误(我还复制了inetpub/wwwroot中的项目)。这就是错误: 值不能为null。参数名称:path2 现在的路径是:
"C:\\inetpub\\wwwroot\\MyProject\\Pro\\Pro.WebUI\\Reports\\TestReport.rpt"
新代码是:
ReportClass rptH = new ReportClass();
var path = Server.MapPath("Reports/TestReport.rpt");
rptH.Load(path);
我以前用ASP.NET做过Crystal报告。不确定你是否能做到这一点,但这对我来说很成功
ReportDocument rptDoc = new ReportDocument();
rptDoc.Load(Server.MapPath("TestReport.rpt");
Response.Buffer = False
Response.ClearContent()
Response.ClearHeaders()
rptDoc.ExportToDisk(ExportFormatType.PortableDocFormat, "TestReport.rpt")
rptDoc.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, True, "MyReport")
如果定义了参数,请检查rpt文件。 如果有,但您不需要,请将其删除。 如果需要,请在代码中为它们提供值和说明。 经验: 试试这个
ReportDocument rd = new ReportDocument();
string FileName = Server.MapPath("~/Report") + "//YourReportName.rpt";
rd.Load(FileName);
rd.SetDataSource(dt);
我应该在inetpub中的项目上添加一些安全角色吗?或者类似的东西,它是有线的?若我把报表url放在浏览器中,它会下载我的.rpt文件。所以这条路是好的。但应用程序找不到它:(您想用它做什么?在浏览器中按需显示?我添加了几行。document对象在导出报告时有几个不同的选项。请查看这两个选项以及其他选项。我想将其导出为PDF。我尝试了您的建议,但我总是做什么,我得到的
加载报告失败。 ReportDocument rd = new ReportDocument();
string FileName = Server.MapPath("~/Report") + "//YourReportName.rpt";
rd.Load(FileName);
rd.SetDataSource(dt);