- - PR -
別のウィンドウにPDFを表示したい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-08-08 09:41
Sqlserverにpdfを保存していてボタンを押すとtextboxに入れたIDを参照して目的のpdfを
Webページに表示するようにしているのですが、別の画面に表示するにはどうしたらいいのでしょうか。 ちなみにボタンのコードは Dim row As GridViewRow = GridView1.SelectedRow Dim connection As New SqlConnection("Data Source=*******") Dim cmd As New SqlCommand Dim reader As SqlDataReader cmd.CommandText = "SELECT * from XX where x=" + row.Cells(2).Text cmd.CommandType = CommandType.Text cmd.Connection = connection connection.Open() reader = cmd.ExecuteReader() If reader.Read() Then Response.ContentType = CType(reader.Item(5), String) Response.BinaryWrite(CType(reader.Item(4), Byte())) End If connection.Close() のようにしています。 | ||||
|
投稿日時: 2006-08-08 10:13
別の画面を別のウィンドウと単純に考えて
1.ボタンを押したときにセッションにtextboxの値を設定 2.RegisterStartupScript等でJavaScriptのwindow.openを出力、別画面を開く 3.その別画面側でセッションからIDを取得し掲載されたコードでpdfの出力 上記のような感じでできるのではないでしょうか? # 掲載されたコードが正常に動作することが前提ですが... [ メッセージ編集済み 編集者: Katze 編集日時 2006-08-08 10:18 ] | ||||
|
投稿日時: 2006-08-08 10:36
子Webフォームを作って、そっちでPDFを表示させてはどうでしょうか。 グリッドにハイパーリンクの列を設けといて、そのリンクの参照URLには子WebフォームへのURLとクエリストリングにrow.Cells(2).Textの値を仕込んでおき、子Webフォームではクエリストリングの値でDBを検索しBinaryWriteする。 もっといいやり方があるような・・・ | ||||
|
投稿日時: 2006-08-08 13:17
早速のレスありがとうございます。
まず最初に訂正しなければならないのは、textboxに入力した値を元にと書きながら、 コードは実際はGridViewの選択ボタンに貼り付けたコードでGridViewから値を もらってきて検索し表示するコードになっていました。 JavaScriptは使ったことが無かったものですから考えていませんでした。RegisterStartupScriptというヒントはいただいたのですが使用法が良くわからな かったので色々調べてみたところSesion情報を保存しておいてResponse.WriteでJavaScriptを埋め込んで window.open で 新たにwindowをopenしSesion情報を読み出して出来るようになりました。ありがとうございました。 |
1