1

ユーザーが編集できるテーブルを表示する Web アプリがあります。編集の過程で、元のテーブルのさまざまな内部 HTML が、ユーザーが行った編集に置き換えられます。ユーザーが終了したら、結果のテーブルを .html ファイルに保存して、再作成することなく PowerPoint スライドに含めることができるようにします。基本的には編集後の.aspxファイルをそのままキャプチャーしてファイルに書き出したいと思っています。

アドバイスをいただければ幸いです。

よろしく。

4

3 に答える 3

4

基本的には.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 );
    }
}

順序

  • ユーザーがデータを入力する
  • 結果をどこかに保存します
  • 最新のコンテンツでコントロールを再レンダリングします
  • コントロールの出力をキャプチャしてファイルに書き出す
于 2012-08-09T20:29:58.187 に答える
2

クライアント側で実行している場合は、jquery を使用してこのようなことを行うことができます

http://jsfiddle.net/BAVzC/3/

その後、コピーしてテキスト ファイルに貼り付けることができます。

于 2012-08-09T20:00:58.450 に答える
1

いくつかの指針。

htmlのような jquery 関数を使用して、ページのセクションの内部 html 全体を取得できます。

これを ajax を使用してサーバーに送信できます。

サーバーでこれを受信するための http ハンドラーを作成できます。これを固定形式の html ファイルに保存するだけなので、他には何も必要ありません。すべてのコントロールを作成する余分なオーバーヘッドを避けるために、ページを使用しませんValidateRequest。「false」に設定しない限り、ページは HTML 入力を受け取りません。

于 2012-08-09T20:25:17.253 に答える