C#.net 如何把整站内.aspx 动态页面全部转换为静态页面.html(如default.aspx转为default.html,login.aspx转为login.html) ,能提供代码着感激不尽,也可发到   多谢我一直没有找到好的解决方法。一直含糊不清,望高手们指点

解决方案 »

  1.   

    伪静态: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()); 
    纯静态:
    推荐使用nvelocity模板引擎来生产静态页,很方便上手
      

  2.   

    1.伪静态,根据服务器写规则。2.使用IO流读取自定义的模版输出html页面,页面与服务器交互使用ajax异步。
      

  3.   

    伪静态,根据服务器写规则。.net 下有 UrlRewritingNet.UrlRewriter.dll 进行伪静态规则改写。网上有详细用法
      

  4.   

    态页
    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());   URlrewriter伪静态
     
      

  5.   

    1、Url重写2、根据动态页面生成静态页面
       1. public static void GetHtml(string url,string savepath)//url参数为将要生成的那个动态页面的地址,savepath为要存放地址  
       2.         {  
       3.             string Result;  
       4.             WebResponse MyResponse;  
       5.             WebRequest MyRequest = System.Net.HttpWebRequest.Create(url);  
       6.             MyResponse = MyRequest.GetResponse();  
       7.             using (StreamReader MyReader = new StreamReader(MyResponse.GetResponseStream(), System.Text.Encoding.GetEncoding("utf-8")))//这里根据网站的编码格式而定  
       8.             {  
       9.                 Result = MyReader.ReadToEnd();  
      10.                 MyReader.Close();  
      11.             }  
      12.             FileStream fs = new FileStream(savepath, FileMode.Create, FileAccess.Write);  
      13.             StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("utf-8"));  
      14.             sw.WriteLine(Result);  
      15.             sw.Close();  
      16.             fs.Close();  
      17.         }  
    3、asp.net替换静态模版生成html页