文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C#生成静态页面方案1-2

C#生成静态页面方案1-2

时间:2010-08-31  来源:让大家开心的人

方案1:

  /// <summary>

  /// 传入URL返回网页的html代码

  /// </summary>

  /// <param name="Url">URL</param>

  /// <returns></returns>

  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.www.qichepeijian.com.

  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代码,然后保存到.html文件里就可以了。

  方案2:

  生成单个的静态页面不是难点,难的是各个静态页面间的关联和链接如何保持完整;特别是在页面频繁更新、修改、或删除的情况下;

  像阿里巴巴的页面也全部是html的,可以看看这个页面,分析一下他的“竞价倒计时”功能http://info.china.alibaba.com/news/subject/v1-s5011580.html?head=top4&Bidding=home5

  ASP.Net生成静态HTML页

  在Asp中实现的生成静态页用到的FileSystemObject对象!

  在.Net中涉及此类操作的是System.IO

  以下是程序代码 注:此代码非原创!参考别人代码

  CODE:

  //生成HTML页

  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); //www.qichepeijian.com模板页中的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;

  此函数放在Conn.CS基类中了在添加新闻的代码中引用 注:工程名为Hover

  if(Hover.Conn.WriteFilethis.Title.Text.ToString),this.Content.Text.ToString),this.Author.Text.ToString)))

  {

  Response.Write("添加成功");

  }

  else

  {

  Response.Write("生成HTML出错!");

  }

  模板页Text.html代码

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >

  <HTML>

  <HEAD>

  <title>ShowArticle</title>

  <body>

  biaoti

  <br>

  content<br>

  author

  </body>

  </HTML>

  biaoti

  <br>

  content<br>

  author

  </body>

  </HTML>

  提示添加成功后会出以当前时间为文件名的html文件!上面只是把传递过来的几个参数直接写入了HTML文件中,在实际应用中需要先添加数据库,然后再写入HTML文件

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载