我现在有个首页是index.aspx 我希望生成一个index.html页面内容和index.aspx页面一样 也就是index.html的代码等于index.aspx在ie浏览器浏览时的代码
我这个写的str只能获得index.aspx的.net页面代码 不是html代码。
Encoding code = Encoding.GetEncoding("gb2312");
        string temp = HttpContext.Current.Server.MapPath("../index/index.aspx");
        StreamReader sr = null;
        StreamWriter sw = null;
        string str = "";
        try
        {
            sr = new StreamReader(temp, code);
            str = sr.ReadToEnd(); 
        }

解决方案 »

  1.   

    Request.SaveAs("c:\\temp\\index.htm", false);
    即可
      

  2.   

    使用httpRequest不就可以了吗?查一下资料吧,很多的
    现在很多网络页面抓取就是这样实现的
      

  3.   

    我就是想把这个index.aspx页面生成个index.html文件
      

  4.   

    net_lover(【孟子E章】)  正解
      

  5.   

    但是我不明白这个的意思加在什么地方?路径怎么办
    Request.SaveAs("c:\\temp\\index.htm", false);
      

  6.   

    Request.SaveAs("c:\\temp\\index.htm", false);这个光是我请求保存了 但是我保存什么呀
    读取的代码呢?
      

  7.   

    /// <summary>
             /// 将Url放到Path目录下,保存为FileName
             /// </summary>
             /// <param name="Url">aspx页面url</param>
             /// <param name="Path">生成html文件的保存路径</param>
             /// <param name="FileName">生成html文件的文件名</param>
             /// <returns></returns>
             public bool ExecAspxToHtml(string Url,string Path,string FileName)
             {
                  try
                  {
                       StringWriter strHTML = new StringWriter();
                       System.Web.UI.Page myPage = new Page();   //System.Web.UI.Page中有个Server对象,我们要利用一下它
                       myPage.Server.Execute(Url,strHTML);       //将asp_net.aspx将在客户段显示的html内容读到了strHTML中
                       StreamWriter sw = new StreamWriter(Path+FileName,true,System.Text.Encoding.GetEncoding("GB2312"));
                                                                     //新建一个文件Test.htm,文件格式为GB2312
                       sw.Write(strHTML.ToString());             //将strHTML中的字符写到Test.htm中
                       strHTML.Close();                          //关闭StringWriter 
                       sw.Close();                                    //关闭StreamWriter 
                       return true;
                  }
                  catch
                  {
                       return false;
                  }
             }
      

  8.   

    保存什么?
    asp.net本来是动态的,交互的,当然你生成静态的文件就是页面的htm,不可能是与原来一样交互的
      

  9.   

    szkangdun_cn(大白鲨) 你写的这个方法怎么在一个页面生成了两个一样的内容了 怎么重复生成了一遍啊?