【发布时间】:2015-01-14 20:09:44
【问题描述】:
我正在尝试在 Visual Studio 2012 的 asp.net mvc4(剃刀语法)中创建一个水晶报表。我在网上阅读了一些文章,其中有两种方法可以通过剃刀视图实现此目的。
1:没有水晶报表查看器的简单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,但仍然相同。 我可能缺少什么?有什么线索吗?
【问题讨论】:
标签: c# asp.net-mvc razor crystal-reports crystal-reports-2010