@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

HTMLファイル形式のファイル出力について

投稿者投稿内容
カタナ
大ベテラン
会議室デビュー日: 2006/05/25
投稿数: 110
投稿日時: 2006-05-30 11:09
いつもお世話になっております。現在、ASP.NET(VB)にて開発を行っておりますが、HTMLファイルに出力する方法で悩んでおります。
【環境】
Webサーバ:Windows2000 IIS6.0
開発環境:WindowsXP VS.NET2003
【内容】
@検索条件を指定しDataGridに内容を表示する。
AHTMLファイル出力ボタンを押した場合はDataGridの内容をHTMLファイル形式で出力する
※HTMLファイル形式で出力するのは、IISの入っていないサーバにアップロードする為

今回、やりかたが分からなくて困っているのは、Aの部分になります。

 できればHTMLファイルの雛形を作成しておき、その雛形にDataGridの内容を吐き出していくというのが理想なのですが、そのようなことは実現可能なのでしょうか?
 またそれ以外に便利な方法はあるのでしょうか?

ご教授よろしくお願いいたします。



囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-05-30 11:19
ブラウザに表示されている時点でHTMLになっているんですが、そういうことではない?
引用:

※HTMLファイル形式で出力するのは、IISの入っていないサーバにアップロードする為


というのも意味が分からなかったのですが…。どういう用途ですか?

_________________
囚人のジレンマな日々
カタナ
大ベテラン
会議室デビュー日: 2006/05/25
投稿数: 110
投稿日時: 2006-05-30 12:16
囚人さんお返事ありがとうございます。説明不足で申し訳ありません。
今回はサーバが二つあります。

サーバ1はASP.NETを利用してデータを登録するだけのWebサーバです。(インターネットに公開していません)
サーバ2はサーバ1が登録した内容をインターネットに公開しているWebサーバになります。

【サーバ1側】
@検索条件を指定しDataGridに内容を表示する。
AHTMLファイル出力ボタンを押した場合はDataGridの内容をHTMLファイル形式で出力する
【サーバ2側】
@サーバ1で作成したHTMLファイルを取得し、公開する。

>>ブラウザに表示されている時点でHTMLになっているんですが、そういうことではない?
たしかにサーバ1側でのプログラムはaspxファイルなので、IISがプログラムファイルであると判断し、その処理結果として生成されたHTMLデータのみをクライアントへ返し、表示しています。ですが、サーバ2側ではIISがインストールされていないので、aspxファイルをサーバ2側に送信しても実行できませんよね。ですのでサーバ1側でHTMLファイル形式で出力してサーバ2側に送信したいのです。

本当に説明べたですみません。まだ説明が不足しているかもしれませんが、ご教授よろしくお願いいたします。

ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2006-05-30 12:37
こういうことでしょうか?

コード:

Private Sub Button1_Click(ByVal sender As System.Object, _
 ByVal e As System.EventArgs) Handles Button1.Click
    Response.ContentType = "application/octet-stream-dummy"
    Response.AppendHeader("Content-Disposition", "attachment;filename=sample.html")
End Sub


普通はサーバ2にもASP.NETを入れてサーバ1側と基本同じただし更新できない版アプリを入れておくもんだと思いますけど…
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-05-30 12:44
引用:

カタナさんの書き込み (2006-05-30 12:16) より:

サーバ1はASP.NETを利用してデータを登録するだけのWebサーバです。(インターネットに公開していません)
サーバ2はサーバ1が登録した内容をインターネットに公開しているWebサーバになります。


サーバ2 の OS はなんですか?
Linux + apache とかなのかな
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-05-30 12:47
IIS がない時点で、aspx だろうが html だろうが公開できないと思うのですが…。
それとも「サーバ2」はIISを使っていないという意味でしょうか?(例えば、Linuxを使っているから IIS が使えないという意味?Apacheを使ってる?)
引用:

たしかにサーバ1側でのプログラムはaspxファイルなので、IISがプログラムファイルであると判断し、その処理結果として生成されたHTMLデータのみをクライアントへ返し、表示しています。


で、それをローカルに保存してアップロードしたらよい、と思ったのですが。(画像だなんだと使っていたらパスがおかしくなりますが)

DataGridの中身のみ出力したいという事でしょうか?Control.RenderControl()メソッドを上手に使えばいけるかもしれません。
_________________
囚人のジレンマな日々
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2006-05-30 12:56
引用:

囚人さんの書き込み (2006-05-30 12:47) より:
DataGridの中身のみ出力したいという事でしょうか?Control.RenderControl()メソッドを上手に使えばいけるかもしれません。


DataGridをDIVで囲っておいて、javascriptでDIVのinnerHTMLを取得した方が簡単かもしれません。
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-05-30 12:59
引用:

DataGridをDIVで囲っておいて、javascriptでDIVのinnerHTMLを取得した方が簡単かもしれません。


それいいですね。
プラス、<html><body>〜 だとかの最低限 HTML ファイルとしての体裁を保つタグの出力を行えばいけそうですね。
_________________
囚人のジレンマな日々

スキルアップ/キャリアアップ(JOB@IT)