ユーザーが編集できるテーブルを表示する Web アプリがあります。編集の過程で、元のテーブルのさまざまな内部 HTML が、ユーザーが行った編集に置き換えられます。ユーザーが終了したら、結果のテーブルを .html ファイルに保存して、再作成することなく PowerPoint スライドに含めることができるようにします。基本的には編集後の.aspxファイルをそのままキャプチャーしてファイルに書き出したいと思っています。
アドバイスをいただければ幸いです。
よろしく。
基本的には.aspxファイルをそのままキャプチャしたい
「ASPX をキャプチャする」と述べているため、データの編集がどこか (メモリ/データベース) に保持されていると想定しています。これはRender()
、コントロール/ページのメソッドをオーバーライドして、出力ストリームをファイルにリダイレクト (またはコピー) するのが簡単であることを意味します。
protected override void Render( HtmlTextWriter writer ) {
using( HtmlTextWriter htmlwriter = new HtmlTextWriter( new StringWriter() ) ) {
base.Render( htmlwriter );
string renderedContent = htmlwriter.InnerWriter.ToString();
// do something here with the string, like save to disk
File.WriteAllText( @"c:\temp\foo.html", renderedContent );
// you could also Response.BinaryWrite() the data to the client
// so that it could be saved on the user's machine.
// and/or write it out to the output stream as well
writer.Write( renderedContent );
}
}
クライアント側で実行している場合は、jquery を使用してこのようなことを行うことができます
その後、コピーしてテキスト ファイルに貼り付けることができます。
いくつかの指針。
htmlのような jquery 関数を使用して、ページのセクションの内部 html 全体を取得できます。
これを ajax を使用してサーバーに送信できます。
サーバーでこれを受信するための http ハンドラーを作成できます。これを固定形式の html ファイルに保存するだけなので、他には何も必要ありません。すべてのコントロールを作成する余分なオーバーヘッドを避けるために、ページを使用しませんValidateRequest
。「false」に設定しない限り、ページは HTML 入力を受け取りません。