我的问题似乎是一个重复的问题,但我在这里有一个奇怪的问题。我们有一个将 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 上,但在我的本地计算机上,它在所有浏览器中都可以正常工作。提前致谢。