1

我有一个显示用户可以编辑的表格的网络应用程序。在编辑过程中,原始表格的各种内部 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 回答