我试图在Visual Studio 2012中的asp.net mvc4(剃刀语法)中创建水晶报表。我在网络上阅读了一些文章,其中有两种使用剃刀视图实现此效果的方法。

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,但仍然相同。
我可能会缺少什么?有什么线索吗?

最佳答案

您能从浏览器控制台窗口检查它是否显示任何错误。 (您可以按F12转到浏览器控制台窗口)。

您可以尝试以下方式

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

09-07 00:41