zoukankan      html  css  js  c++  java
  • 如何将ASP.NET页面保存为HTML文件

    以下为实现代码:
            /// <summary>
            /// 将文件保存为
            /// </summary>
            /// <param name="uri">请求的地址</param>
            /// <param name="queryString">查询字符串</param>
            /// <param name="targetFilePath">保存的文件路径</param>
            public static void SavePage(System.Uri uri, string queryString, string targetFilePath)
            {
                //用于保存文件的流
                System.IO.FileStream stream = null;

                //用于保存写入队对象
                System.IO.TextWriter writer = null;

                try
                {
                    //创建Http请求
                    HttpRequest request = new HttpRequest(uri.AbsolutePath, uri.AbsoluteUri, queryString);

                    //创建保存的文件流
                    stream = new System.IO.FileStream(targetFilePath, System.IO.FileMode.Create);

                    //创建文件写入对象
                    writer = new System.IO.StreamWriter(stream, System.Text.UTF8Encoding.UTF8);

                    //创建Http反馈
                    HttpResponse Response = new HttpResponse(writer);

                    //创建Http上下文
                    HttpContext context = new HttpContext(request, Response);

                    //添加Session
                    context.Items.Add("AspSession", HttpContext.Current.Session);

                    //创建页面分析器
                    System.Web.IHttpHandler handler = System.Web.UI.PageParser.GetCompiledPageInstance(uri.AbsolutePath,
                        HttpContext.Current.Server.MapPath(uri.AbsolutePath), context);

                    //执行请求
                    handler.ProcessRequest(context);

                    //写入信息
                    writer.Flush();

                    //关闭
                    writer.Close();
                }
                finally
                {
                    //关闭写入器
                    if (null != writer)
                    {
                        writer.Dispose();
                    }

                    //关闭流
                    if (null != stream)
                    {
                        //关闭
                        stream.Dispose();
                    }
                }
            }
    需要注意的是Session的传递,如果不传递Session,那么与Session相关的数据就无法获得了。

  • 相关阅读:
    Java 递归算法,遍历文件夹下的所有文件。
    基于appium的移动端自动化测试,密码键盘无法识别问题
    第一个脚印
    最简单ajax,$.post()用法
    关于图片title与alt
    iframe loading 效果
    iframe 跨域的高度自适应
    练习卷动式新闻广告牌
    JS学习笔记《数值与字符串相加篇》
    解决FLASH的层级问题
  • 原文地址:https://www.cnblogs.com/zengezenge/p/822954.html
Copyright © 2011-2022 走看看