使用exporttohttpresponse导出Crystal报表时更新服务器端控件以响应

时间:2014-02-04 03:28:59

标签: asp.net vb.net crystal-reports

在我的网页上按下ASP按钮后,我使用以下代码创建Crystal报表:

label1.text = now.tostring()
oRpt.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, True, "Ticket")

标签未更新,因为下载请求已停止完整回发。我使用该标签来更新某些数据库条目,但无法使其保持不变。我是否必须使用会话变量来存储日期,或者是否存在针对此问题的已知解决方法?

1 个答案:

答案 0 :(得分:0)

您可以尝试多线程,分为两个进程,一个用于更新label1.Text(运行为 BackgroundWorker ),另一个用于导出报告。最后,让它们并行运行。

正如您使用VB.Net,这里是示例代码:

Sub UpdateDate()
    ...
    Label1.Text = now.ToString()
End Sub
Sub ExportReport()
    ...
    oRpt.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, True, "Ticket")
End Sub
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim Thread1 As New System.Threading.Thread(AddressOf UpdateDate)
    Thread1.IsBackground = True
    Thread1.Start()

    Dim Thread2 As New System.Threading.Thread(AddressOf ExportReport)
    Thread2.Start()
End Sub

不要忘记导入所需的namspace

Imports System.Threading