网上看一段代码:public static string getUrltoHtml(string Url)
{
errorMsg = "";
try
{
System.Net.WebRequest wReq = System.Net.WebRequest.Create(Url);
// Get the response instance.
System.Net.WebResponse wResp =wReq.GetResponse();
// Read an HTTP-specific property
//if (wResp.GetType() ==HttpWebResponse)
//{
//DateTime updated =((System.Net.HttpWebResponse)wResp).LastModified;
//}
// Get the response stream.
System.IO.Stream respStream = wResp.GetResponseStream();
// Dim reader As StreamReader = New StreamReader(respStream)
System.IO.StreamReader reader = new System.IO.StreamReader(respStream, System.Text.Encoding.GetEncoding("gb2312"));
return reader.ReadToEnd();}
catch(System.Exception ex)
{
errorMsg = ex.Message ;
}
return "";
}具体不知道怎么用?如果生成了html文件,比如A.aspx跳到B.aspx ,B 生成静态页面,那程序跳转不要对应改成这个html文件?麻烦大侠们具体说下 谢谢

解决方案 »

  1.   

    这段代码是把已有的url读取成html。跳转要改
      

  2.   

    抓取页面获取数据
    静态化
    protected override void Render(HtmlTextWriter writer) {   
      StreamWriter r=new StreamWriter(Server.MapPath(""), false,System.Text.Encoding.UTF8);   
      HtmlTextWriter h=new HtmlTextWriter(r);   
      base.Render(h);   
      r.Close();   
      h.Close();   
      }   
     StringWriter wr = new StringWriter();
     Server.Execute("", wr);   
     this.lit.Text = Server.HtmlEncode(wr.ToString());
     File.WriteAllText(Server.MapPath(""), wr.ToString());  
      

  3.   

    这里里有几种方法,肯定对你有所帮助
      第一种:根据模板生成(从html中读取 ,从写)
        string mbPath = Server.MapPath("..");//模板的路径
                Encoding code = Encoding.GetEncoding("gb2312");
                StreamReader sr = null;
                StreamWriter sw = null;
                string str = null;            //读取
                try
                {
                    sr = new StreamReader(url, code);
                    str = sr.ReadToEnd();
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    sr.Close();
                }            //根据时间自动重命名,扩展名也可以自行修改
                string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".htm";
                str = str.Replace("$title$", txtTitle.Text);//替换Title 从下面的html模板中的到
                str = str.Replace("$content$", txtContent.Text);//替换content            //生成静态文件
                try
                {
                     生成文件的路径
                    sw = new StreamWriter(Server.MapPath("..") + fileName, false, code);
                    sw.Write(str);
                    sw.Flush();
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    sw.Close();
                    Response.Write("恭喜<a href=/" + fileName + " target=_blank>" + fileName + "</a>已经生成,保存在**文件夹下!");
                }
          模板中html中的内容大致上为:     
    <table width="100%" border="0" bgcolor="#339900">
      <tr>
        <td height="34" align="center" bgcolor="#FFFFFF"><span class="STYLE1">$title$ </span></td>
      </tr>
      <tr>
        <td height="42" bgcolor="#FFFFFF"><br />
          <br />
        内容:$content$ </td>
      </tr>
    </table>      第二种:
            aspx生成html
      string strHtml;
                StreamReader sr = null; //用来读取流
                StreamWriter sw = null; //用来写文件
                Encoding code = Encoding.GetEncoding("utf-8"); //定义编码 
                //构造web请求,发送请求,获取响应
                WebRequest HttpWebRequest = null;
                WebResponse HttpWebResponse = null;
                HttpWebRequest = WebRequest.Create(url);//url aspx文件的路径
                HttpWebResponse = HttpWebRequest.GetResponse();
                //获得流
                sr = new StreamReader(HttpWebResponse.GetResponseStream(), code);
                strHtml = sr.ReadToEnd();
                string strHtml2 = "";
                StringBuilder sb = new StringBuilder();            strHtml2 = strHtml.Replace("");
                sb.Append(strHtml2);
                sb.Append("");
                //写入文件
                try
                {
             //判断html文件的是否存在 fna为html文件的路径
                    if (File.Exists(fna))
                    {
                        File.Delete(fna);
                    }                sw = new StreamWriter(fna, false, code);                sw.Write(sb);
                    sw.Flush();
                    ok = true;
                }
                catch (Exception ex)
                {
                    HttpContext.Current.Response.Write("<p>写入文件出错:" + ex.Message);
                    HttpContext.Current.Response.End();
                    ok = false;
                }
                finally
                {
                    sw.Close();
                }
             
          我大概上就总结了以上两种方法,可以对你进行一定的帮助