日期:2014-05-20 浏览次数:20855 次
protected void Page_Load(object sender, EventArgs e)
{
try
{
bool isValid = true;
// 从session中取得报表的路径
string rptPath = System.Web.HttpContext.Current.Session["ReportPath"].ToString();
// 获取要注入到报表中的数据,我用的是PUSH模式
var rptSource = System.Web.HttpContext.Current.Session["ReportSource"];
// 检查报表是否存在
if (string.IsNullOrEmpty(rptPath)
------解决方案--------------------
!File.Exists (rptPath))
{
isValid = false;
}
//如果存在
if (isValid)
{
ReportDocument rd = new ReportDocument();
//加载报表模板
rd.Load(rptPath);
// 给模板灌数据
if (rptSource != null && rptSource.GetType().ToString() != "System.String")
rd.SetDataSource(rptSource);
//给view指定报表
CrystalReportViewer1.ReportSource = rd;
//释放session
Session["ReportPath"] = "";
Session["ReportSource"] = "";
}
else
{
Response.Write("<H2>目标报表:"+ rptPath+"不存在</H2>");
}
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
}