• asp.net生成静态网页(转载)


    现在做程序都要将动态的页面转换成静态页面,今天教大家在ASP.NET 中实现静态页面的生成方法。

    using System;
      using System.Data;
      using System.Configuration;
      using System.Web;
      using System.Web.Security;
      using System.Web.UI;
      using System.Web.UI.WebControls;
      using System.Web.UI.WebControls.WebParts;
      using System.Web.UI.HtmlControls;
      using System.IO;
      using System.Text;
      ///  
      /// WriteFile 的摘要说明
      ///  
      public class WriteFile
      {
      public WriteFile()
      {
      }
      public static bool createHtml(string[] strnewsHtml,string[] stroldHtml,string strModeFilePath,string strPath)
      {
      bool flag = false;
      StreamReader sr = null;
      StreamWriter sw = null;
      string filepath = HttpContext.Current.Server.MapPath(strModeFilePath);
      Encoding code = Encoding.GetEncoding("gb2312");
      string s = string.Empty;
      try
      {
      sr = new StreamReader(filepath,code);
      s = sr.ReadToEnd();
      }
      catch (Exception ex)
      {
      throw ex;
      }
      finally
      {
      sr.Close();
      }
      try
      {
      for (int i = 0; i < strnewsHtml.Length; i  )
      {
      s = s.Replace(stroldHtml[i], strnewsHtml[i]);
      }
      sw = new StreamWriter(HttpContext.Current.Server.MapPath(strPath), false, code);
      sw.Write(s);
      flag = true;
      }
      catch (Exception ex)
      {
      flag = false;
      throw ex;
      }
      finally
      {
      sw.Flush();
      sw.Close();
      }
      return flag;
      }
      public static bool UpdateHtmlPage(string[] strNewsHtml, string[] strStartHtml, string[] strEndHtml, string strHtml)
      {
      bool Flage = false;
      StreamReader ReaderFile = null;
      StreamWriter WrirteFile = null;
      string FilePath = HttpContext.Current.Server.MapPath(strHtml);
      Encoding Code = Encoding.GetEncoding("gb2312");
      string strFile = string.Empty;
      try
      {
      ReaderFile = new StreamReader(FilePath, Code);
      strFile = ReaderFile.ReadToEnd();
      }
      catch (Exception ex)
      {
      throw ex;
      }
      finally
      {
      ReaderFile.Close();
      }
      try
      {
      int intLengTh = strNewsHtml.Length;
      for (int i = 0; i < intLengTh; i  )
      {
      int intStart = strFile.IndexOf(strStartHtml[i])   strStartHtml[i].Length;
      int intEnd = strFile.IndexOf(strEndHtml[i]);
      string strOldHtml = strFile.Substring(intStart, intEnd - intStart);
      strFile = strFile.Replace(strOldHtml, strNewsHtml[i]);
      }
      WrirteFile = new StreamWriter(FilePath, false, Code);
      WrirteFile.Write(strFile);
      Flage = true;
      }
      catch (Exception ex)
      {
      throw ex;
      }
      finally
      {
      WrirteFile.Flush();
      WrirteFile.Close();
      }
      return Flage;
      }
      }
      调用公共类:
      ----------------------------------------------------------------------------
      protected void Button2_Click(object sender, EventArgs e)
      {
      string NewsTitle = this.TextBox1.Text;
      string NewsKindName = this.DropDownList1.SelectedItem.Text;
      string NewsBody = this.WebEditor1.Text;
      DateTime PubTime = DateTime.Now;
      string UserName = Session["UserName"].ToString();
      Response.Write(NewsKindName);
      string[] strNewsHtml = new string[] { NewsTitle, NewsKindName, NewsBody, PubTime.ToString(), UserName };
      string[] strOldHtml = new string[] { "@Title", "@NewsKInd", "@NewsBody", "@PubTime", "@UserName" };
      string strFileName = DateTime.Now.ToString("ddhhmmss")   ".html";
      string strFilePath = string.Format("NewsHtml/{0}", strFileName);
      try
      {
      if (WriteFile.createHtml(strNewsHtml, strOldHtml, "mode.htm", strFilePath))
      {
      this.Label1.Text = "生成成功!";
      }
      else
      {
      this.Label1.Text = "生成失败!";
      }
      }
      catch
      {
      this.Label1.Text = "生成失败!";
      }
      }
      protected void Button3_Click(object sender, EventArgs e)
      {
      string[] strNewsHtml=new string[]{"到此一游!"};
      string[] strStartHtml=new string[]{""};
      string[] strEndHtml=new string[]{""};
      if (WriteFile.UpdateHtmlPage(strNewsHtml, strStartHtml, strEndHtml, "NewsHtml/02011139.html"))
      {
      this.Label1.Text="生成首页成功!";
      }
      else
      {
      this.Label1.Text="生成首页失败!";
      }
      }

    转自:http://www.niuc.net/post/1389/

  • 相关阅读:
    读者试读怎么评价这本书
    性能优化是数据库应用的核心问题
    ExtJS 4 Grid组件
    发挥你的SATA硬盘
    MOSS 修改了服务器账号密码后的问题
    速度真快,ExtJS第5个预览版发布
    Ext JS 4 Preview Release 4发布
    显卡性能排行榜
    手机操作系统发展史
    程序解读身份证的密码
  • 原文地址:https://www.cnblogs.com/johnwonder/p/1709162.html
Copyright © 2020-2023  润新知