大家看到,大型网站基本上都采用了静态文件作为访问页面,这样做的好处就是减小了数据库和服务器的压力,今天我们就来介绍下如何做静态页。
//此方法可以作为创建静态页的共有方法,使用的时候调用就可以了
public static void CreateStaticPage(int newsid) { CaptainDataContext db = new CaptainDataContext(); //通过ID查询新闻模型
var newsmodel = db.MediaNews.FirstOrDefault(c => c.MediaNewsID == newsid); //读取模板文件内容
string template = File.ReadAllText(HttpContext.Current.Server.MapPath("~/Template/ViewModel.htm")); //将模板文件的相应内容替换
string html = template.Replace("$Title", newsmodel.Title).Replace("$Msg", newsmodel.Content); //创建静态页要存入的地址
string fullpath =HttpContext.Current.Server.MapPath(newsmodel.AddDate.Year + "/" + newsmodel.AddDate.Month + "/" + newsmodel.AddDate.Day + "/"); Directory.CreateDirectory(fullpath); //创建静态页
File.WriteAllText(fullpath + newsmodel.MediaNewsID + ".html", html, Encoding.UTF8); }
protected void btnCreate_Click(object sender, EventArgs e) { CaptainDataContext db = new CaptainDataContext(); var newlist = db.MediaNews.Take(10).OrderByDescending(c => c.AddDate).ToList(); foreach (var news in newlist) { Common.CommonCode.CreateStaticPage(news.MediaNewsID); } }
// 相信大家都可以看懂,现在做静态页都使用模板引擎了,我们这个例子只是抛砖引玉的作用