asp.net页面怎么转成静态页面?

解决方案 »

  1.   

      public static string GetHtmlSourceCode(string url)
        {
            string str2;
            WebRequest request = WebRequest.Create(url);
            try
            {
                Stream responseStream = request.GetResponse().GetResponseStream();
                StreamReader reader = null;
                reader = new StreamReader(responseStream, Encoding.GetEncoding("utf-8"));
                string str = reader.ReadToEnd();
                responseStream.Close();
                reader.Close();
                str2 = str;
            }
            catch (Exception exception)
            {
                throw new Exception(string.Format("页面地址“{0}”无法访问!具体原因:<br>{1}", url, exception.Message));
            }
            return str2;
        }string rawUrl = GetUrl(url);
                                    string htmlSource = Conn.GetHtmlSourceCode(rawUrl);
                                    FileStream fileStr = System.IO.File.Open(@"物理路径", System.IO.FileMode.Create);
                                    byte[] info = Encoding.UTF8.GetBytes(htmlSource);
                                    fileStr.Write(info, 0, info.Length);
      

  2.   

    替换
    public static bool WriteFile(string strText, string strContent, string strAuthor)
        {
            string path = HttpContext.Current.Server.MapPath("~/news/");
            Encoding code = Encoding.GetEncoding("gb2312");
            // 读取模板文件 
            string temp = HttpContext.Current.Server.MapPath("~/news/text.html");
            StreamReader sr = null;
            StreamWriter sw = null;
            string str = "";
            try
            {
                sr = new StreamReader(temp, code);
                str = sr.ReadToEnd(); // 读取文件 
            }
            catch (Exception exp)
            {
                HttpContext.Current.Response.Write(exp.Message);
                HttpContext.Current.Response.End();
                sr.Close();
            }
            string htmlfilename = DateTime.Now.ToString("yyyyMMddHHmmss") + ".html";
            // 替换内容 
            // 这时,模板文件已经读入到名称为str的变量中了 
            str = str.Replace("ShowArticle", strText); //模板页中的ShowArticle 
            str = str.Replace("biaoti", strText);
            str = str.Replace("content", strContent);
            str = str.Replace("author", strAuthor);
            // 写文件 
            try
            {
                sw = new StreamWriter(path + htmlfilename, false, code);
                sw.Write(str);
                sw.Flush();
            }
            catch (Exception ex)
            {
                HttpContext.Current.Response.Write(ex.Message);
                HttpContext.Current.Response.End();
            }
            finally
            {
                sw.Close();
            }
            return true;
        }
      

  3.   

    http://blog.csdn.net/21aspnet/article/details/4178735
      

  4.   

    URLRewriter.dll   加载这个文件  在web.config里面重新url地址