asp.net - 为什么水晶报表总是显示在开发者端打开的第一个订单?
问题描述
我正在使用 VS 2019 和水晶报告,单击下载结果按钮时,我将订单 ID 和测试 ID 传递给报告这是代码:
<li><a style="margin-left:700px;margin-bottom:15px" href="/RPT/WebForm1.aspx/?order_number=@Model.labClinicsViewResult.First().order_number&deptid=0&testid=@Model.labClinicsViewResult.First().Test_Id&Culture=@Model.labClinicsViewResult.First().Culture" class="btn btn-danger">Download Result</a></li>
然后在 webform1.aspx 页面中,我创建了水晶报表查看器并显示从另一个页面传递的数据,这是代码:
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TXTORDERID" runat="server"></asp:TextBox>
<asp:TextBox ID="TXTDEPTID" runat="server"></asp:TextBox>
<asp:TextBox ID="TXTTESTID" runat="server"></asp:TextBox>
<asp:TextBox ID="TXTCULTURE" runat="server"></asp:TextBox>
<asp:TextBox ID="TXTPOSITIVE" runat="server"></asp:TextBox>
<br />
<br />
</div>
<br />
<div id="dvReport">
<CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="true" />
</div>
</form>
这也是添加参数和运行报告的代码:
if (Convert.ToInt32(TXTDEPTID.Text) == 0)
{
parameterField1.Name = "@ORDER_ID";
parameterDiscreteValue1.Value = (object)this.TXTORDERID.Text.ToString();
parameterField1.CurrentValues.Add((ParameterValue)parameterDiscreteValue1);
parameterFields.Add(parameterField1);
this.CrystalReportViewer1.ParameterFieldInfo = parameterFields;
this.CrystalReportViewer1.ReuseParameterValuesOnRefresh = true;
this.CrystalReportViewer1.ToolPanelView = ToolPanelViewType.None;
reportDocument.Load(this.Server.MapPath("~/RPT/RPTCREDITRESULTS.rpt"));
this.CrystalReportViewer1.ReportSource = (object)reportDocument;
reportDocument.SetDatabaseLogon("sa", "123456");
ConnectionInfo connectionInfo = new ConnectionInfo();
connectionInfo.ServerName = "server";
connectionInfo.DatabaseName = "DB";
connectionInfo.Password = "123456";
connectionInfo.UserID = "sa";
connectionInfo.Type = ConnectionInfoType.SQL;
connectionInfo.IntegratedSecurity = false;
for (int index = 0; index < this.CrystalReportViewer1.LogOnInfo.Count; ++index)
this.CrystalReportViewer1.LogOnInfo[index].ConnectionInfo = connectionInfo;
}
例如,当我测试报告时,我打印了 order_id = 2100022182 当我运行项目并单击下载结果时,它总是显示订单 id = 2100022182 的结果我在测试中打开,而不是刷新并获取我下次选择的订单 ID
我需要你的帮助。
重要的一点:我在 VS 2015 之前使用,它在 VS 2015 之前工作正常,现在我转向使用 VS 2019 是否需要为报告或代码做任何设置或更新?
这是第一个图像订单 ID 传递到第二个图像中的文本框,但打印顺序不同
解决方案
推荐阅读
- excel - Excel VBA 自动功能重置/图像加载
- tabulator - 如何为csv制作下载按钮?
- php - 在 laravel 中,该路由不支持 POST 方法。支持的方法:GET、HEAD Plz
- html - 如何修复 IE11 中的列表卡?图像很大(css Grid)Crhome,Safari 运行良好
- node.js - AWS: Steps to pass a node.js application to EC2
- angular - 如何从指令访问任意主机组件?
- mysql - Perl 在打开 gzip 文件时给出“gzip:stdout:Broken pipe”错误,但前提是连接到数据库
- javascript - 按键值对对象数组进行排序并将它们显示在 HTML 元素上
- node.js - 如何在 Azure CosmosDB 上使用两个集合进行事务
- influxdb - 如何使用 InfluxDB 计算图表下的面积?