0

我的问题似乎是一个重复的问题,但我在这里有一个奇怪的问题。我们有一个将 RDLC 报告呈现为 PDF 格式的 Web 应用程序,该应用程序具有一些将在代码中设置的参数,然后附加到报告并将其呈现为 PDF。我后面有这段代码:

LocalReport rep = new LocalReport();
        rep.ReportPath = "ReimbursementClaimForm.rdlc";
        List<ReportParameter> param = new List<ReportParameter>();
        param.Add(new ReportParameter("NameofthePatient", txtNameofthePatient.Text));
        param.Add(new ReportParameter("MBASIDNo", txtMBASIDNo.Text));
        param.Add(new ReportParameter("DateofBirth", string.Format("{0:dd MMMM, yyyy}", Convert.ToDateTime(txtDateofBirth.Text))));
        param.Add(new ReportParameter("CompleteHomeAddress", txtCompleteHomeAddress.Text));
        param.Add(new ReportParameter("EmailAddress", txtEmailAddress.Text));
        param.Add(new ReportParameter("ContactNos", txtContactNos.Text));
        param.Add(new ReportParameter("ExpenseClaim", txtExpenseClaim.Text));
        param.Add(new ReportParameter("AccountHolderName", txtAccountHolderName.Text));
        param.Add(new ReportParameter("AccountHolderName2", txtAccountHolderName2.Text));
        param.Add(new ReportParameter("AccountNoandAccountType", txtAccountNoandAccountType.Text));
        param.Add(new ReportParameter("BankName", txtBankName.Text));
        param.Add(new ReportParameter("BankBranch", txtBankBranch.Text));
        param.Add(new ReportParameter("BankContactNo", txtBankContactNo.Text));
        param.Add(new ReportParameter("BankAddress", txtBankAddress.Text));
        param.Add(new ReportParameter("BICSwiftCode", txtBICSwiftCode.Text));
        param.Add(new ReportParameter("RTGSCode", txtRTGSCode.Text));
        param.Add(new ReportParameter("IBAN", txtIBAN.Text));
rep.SetParameters(param);
        rep.DisplayName = "ReimbursementClaimForm";
        rep.Refresh();
HttpContext.Current.Response.Buffer = true;
        //HttpContext.Current.Response.Clear();
        HttpContext.Current.Response.AppendHeader("content-disposition", "attachement filename=" + Rep.DisplayName + ".pdf");
        HttpContext.Current.Response.ContentType = "application/PDF";
Warning[] warnings;
            string[] streamids;
            string mimeType;
            string encoding;
            string extension;
            byte[] bytes = item.Render("Pdf", null, out mimeType, out encoding, out extension, out streamids, out warnings);
        HttpContext.Current.Response.BinaryWrite(bytes);
        HttpContext.Current.Response.Flush();
        HttpContext.Current.Response.End();

这里的问题是,每当我使用 ReportParameter 上的此代码值部署应用程序时,从 ASP 上的文本框的值设置的值都不会反​​映在生成的 PDF 文件中。首先尝试渲染的值,但第二次尝试未在 PDF 上更新的值。这发生在 IE 和 Opera 浏览器上,但在其他浏览器上它很好,请注意,一旦 Web 应用程序部署在 IIS 上,但在我的本地计算机上,它在所有浏览器中都可以正常工作。提前致谢。

4

1 回答 1

0

很可能是缓存问题。将此行添加到您的 Response.Clear()

HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);

清除浏览器缓存并重试

于 2013-05-21T05:29:24.077 回答