Crystalreportviewer 未呈现(asp.net mvc4 razor 语法)

Crystalreportviewer not rendering (asp.net mvc4 razor syntax)

我正在尝试在 visual studio 2012 年的 asp.net mvc4(razor 语法)中创建一个 crystal 报告。我在网上阅读了一些文章,有两种方法可以实现这具有剃刀的观点。

1:没有 crystalreportviewer 的简单 pdf 渲染 2: 创建 aspx 页面并加载 crystalreportviewer。

我将使用第二种方法创建一个 aspx 页面,在我的控制器的操作中,我有以下代码。

Controller.cs(动作)

if (this.HttpContext != null && this.HttpContext.Session != null)
{
     this.HttpContext.Session["ReportName"] = "AccountStatement.rpt";
     this.HttpContext.Session["rptSource"] = reportInfo;
}
// Redirecting generic report viewer page from action
Response.Redirect("~/AspForms/aspnetgeneric.aspx")

在 aspnetgeneric.aspx 页面加载的代码隐藏中,我有:

string strReportName = System.Web.HttpContext.Current.Session["ReportName"].ToString();
ReportDocument rd = new ReportDocument();

string strRptPath = Path.Combine(Server.MapPath("~/Reports"), strReportName);
rd.Load(strRptPath);

if (source.GetType().ToString() != "System.String")
     rd.SetDataSource(source);
CrystalReportViewer1.ReportSource = rd;

代码在运行时运行良好,没有任何异常,但不会在浏览器中显示 crystalreportviewer 或报告本身 window。 (在所有主要浏览器上测试)。我尝试将目标框架从 4.5 更改为 4.0,但仍然相同。 我可能缺少什么?有什么线索吗?

你能检查一下你的浏览器控制台是否显示任何错误吗window。 (您可以按 F12 转到浏览器控制台 window)。

您可以尝试以下方式

aspnet_client 文件夹从 c:\inetpub\wwwroot 文件夹复制到新网站(您项目的)根文件夹。

我通过执行以下操作使其工作:

我在 SAP Support 上看到 'IIS Express is not supported as it does not allow for integration of 3rd party components',所以我将我的网站转移到 IIS7.5。

然后我将 crystalviewer13 文件夹和 aspnet_client 文件夹一起复制到我网站的根目录并授予完全管理员权限。

最后,我不得不在 aspnetgenric.aspx 中添加 javascript 文件 (crystalreportviewers13/js/crviewer/crv.js),它恢复了 crystalreportviewer。

我想分享这个,如果它能在将来帮助到别人。