DOBON.NET DOBON.NETプログラミング掲示板過去ログ

CSVファイルダウンロード後のラベル等のコントロール更新について

  • 題名: CSVファイルダウンロード後のラベル等のコントロール更新について
  • 著者: みう
  • 日時: 2009/03/31 16:43:46
  • ID: 24307
  • この記事の返信元:
    • (なし)
  • この記事への返信:
    • (なし)
  • ツリーを表示
環境/言語:[WindowsXP SP3 ブラウザ IE6,IE7]
分類:[ASP.NET]

初めまして。
VB2005を使用して開発をしております。

updateボタンを押したときの処理で、
@データテーブルよりCSVをダウンロード
Aラベルを編集して画面に反映(ラベル更新等による再描画)
を一括処理で行いたいです。
@までは出来ていますが、Aがどうしても出来ません。

-------------------以下コード(省略したものですが、長々と失礼致します)
Protected Sub update_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles update.Click
Try
Dim dt As New DataTable
dt = dispin() 'ユーザ関数にて画面内容を編集してDB更新編集領域へ
updateDataTable(dt) 'ユーザ関数にて編集した画面内容をDBへ更新

'------CSV出力処理------'ここより@
' contenttype 設定
response.ContentType = "application/octet-stream"
response.ContentEncoding = System.Text.Encoding.GetEncoding("shift_jis")

' ファイル名
response.AddHeader("Content-Disposition", "attachment; filename=" + "list.csv")

Dim ColumnItem As DataColumn
Dim column As String = ""

Dim bFirst As Boolean = True
For Each ColumnItem In dt.Columns
If bFirst Then
bFirst = False
Else
column &= ","
End If
column &= """" & UCase(ColumnItem.ToString) & """"
Next

' ヘッダー出力
response.Write(column & vbCrLf)

Dim rowItem As DataRow
For Each rowItem In dt.Rows
bFirst = True
column = ""
For Each ColumnItem In dt.Columns

If bFirst Then
bFirst = False
Else
column &= ","
End If

Dim strTemp As String = IIf(IsDBNull(rowItem(ColumnItem.ToString)), "", rowItem(ColumnItem.ToString))
column &= """" & strTemp & """"
Next

' データ出力
response.Write(column & vbCrLf)
Next

' 出力終了
response.End()

Me.labelMessage.Text = "結果表示" 'A ここからを反映したいです
'実際にはDBに更新した内容を画面全体に再描画します

Catch ex As Exception
Me.labelMessage.Text = ex.Message
End Try
End Sub
-------------------コード終了-------------------
補足1.Aの内容を response.endより前に記入してもダメでした。
補足2.上記ソースをa.aspxとしCSV出力処理のみを別のb.aspxに遷移
(javascriptのwidow.open)して行いました。
    Aの反映は無事に行えましたが以下の問題が発生しました。
    問題点
    b.aspxには画面の背景色指定やラベルが貼り付けてありますが、
IE7はb.aspxの画面がCSV出力後に自動でクローズされます。
IE6はb.aspxが真っ白な状態で画面が残りました。
 上記ソースで解決できない場合、補足2を採用したいのですが、下記の内容は
 実現可能でしょうか。
 【1】IE7に合わせる場合、IE6のb.aspxをCSV出力後に自動的にクローズする。
 【2】IE7・IE6共に背景色やラベルを表示する。

DOBON.NET | プログラミング道 | プログラミング掲示板