グラフを作成し、パス server.mappath("/images/chart/chartname.png") に保存します。パスに移動すると、画像がそこにあり、コンピューターで開くことができますが、私が本当にやりたいのは、できれば非同期で、作成後にページに画像を表示することです。更新パネルに asp:image コントロールを配置して URL を変更しようとしましたが、うまくいきません。私はさまざまな方法を試しましたが、誰かが私を正しい方向に向けることができれば、それは素晴らしいことです. これまでのコードは機能しているため、簡単なコードは投稿しません。画像を印刷しようとすると、回答があればスニペットを投稿します。
編集:ここにいくつかのコードがあります
全体を開始するボタンイベント:
Protected Sub btnCreate_Click(sender As Object, e As EventArgs) Handles btnCreate.Click
Dim worker As New backgroundWorker
'Check input
worker.RunWorker({})
Session("worker") = worker
Timer1.Enabled = True
End Sub
これにより、チャートを正常に生成するワーカーが開始され、パネルの更新に使用されるタイマーが開始されます。最終的にそのコードで、これが起こります
Dim imgpath As String = Server.MapPath("images/chart/test.png")
chart.SaveImage(imgpath, ChartImageFormat.Png)
chartImg.ImageUrl = "~/images/chart/test.png"
これで、このコードの実行後にパネルが更新されていることがわかりました。これは、メッセージを複数行のテキスト ボックスに出力したところ、実際に表示されたからです。これらのコントロールはすべて、updatePanel の contentTemplate にも含まれています。