Crystalreportviewer无法渲染(asp.net mvc4 razor语法)

时间:2015-01-14 20:09:44

标签: c# asp.net-mvc razor crystal-reports crystal-reports-2010

我试图在visual studio 2012中用asp.net mvc4(razor语法)创建一个水晶报告。我在网上看到一些文章,有两种方法可以用剃刀视图实现这一点。

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或报表本身。 (在所有主流浏览器上测试过)。我尝试将目标框架从4.5更改为4.0但仍然相同。 我可能会缺少什么?有线索吗?

2 个答案:

答案 0 :(得分:2)

您可以检查它是否显示浏览器控制台窗口中的任何错误。 (您可以按F12进入浏览器控制台窗口。)

您可以尝试以下方式

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

答案 1 :(得分:1)

我通过以下方式使其成功:

我在SAP Support上读到“不支持IIS Express”,因为它不允许集成第三方组件'所以我将我的网站转移到IIS7.5。

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

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

我想分享这个,如果它可以在将来帮助某人。