文章摘要:asp.net生成静态html页面并分别按年月目录存放.
一说到新闻系统的话,一定会谈到静态页面生成的,因为静态页面不但是读取速度快,而且又安全;
静态页面的生成不管是小到现在的企业网站大至网易,qq等门户都用到了;
那么我们如何来生成静态页呢?
以什么方式生成静态页面呢……
在生成静态页面的时候有那些是要注意的呢:
静态页面命名
统一存放目录
静态页面模板
页面生成
一般来说,在原来新闻系统的基础上我们可以根据get此页面请求的内容再生成(比如:http;//www.test.com/news.aspx?id=1,get此页面代码直接写至一个文本文件并以html命名即可);
在这里我所采用的是模板生成,先用dw做一个网页模板,将标题,内容等将要动态实现的内容先以$title$等替换,等在生成的时候替换成新闻的内容;
命名:在生成的时候一般来说是采用新闻发布的时间转换成的字符串,这个是不会重复的
另外我还按年份月份把这些静态文件存放在不同的目录,以便于管理,
在这里根据一个新闻的id调用方法writenews()给定参数id,它就会根据此id从数据库中读取内容,再根据静态模板页面html/test.html生成新的静态页面存放在相应年份月份的目录
好了,下面是代码:
using system;
using system.io;
using system.web;
using system.text;
namespace powerleader.components
…{
/**//// 〈summary〉
/// writetohtml 的摘要说明。
/// 〈/summary〉
public class writetohtml
…{
public writetohtml()
…{
//
// todo: 在此处添加构造函数逻辑
//
}
public static void writenews(int id)
…{
news news = new news();
news.newsdetails newsdetails = new powerleader.components.news.newsdetails();
newsdetails = news.getnews(id);
bool flag;
flag = writefile(newsdetails);
}
public static bool writefile(news.newsdetails newsdetails)
…{
directory.createdirectory(httpcontext.current.server.mappath("/powerleader/html/"+newsdetails.addtime.tostring("yyyy")+"/"+newsdetails.addtime.tostring("mm")));
string path = httpcontext.current.server.mappath("/html/"+newsdetails.addtime.tostring("yyyy")+"/"+newsdetails.addtime.tostring("mm")+"/");
encoding code = encoding.getencoding("gb2312");
// 读取模板文件
string temp = httpcontext.current.server.mappath("/html/text.html");
streamreader sr = null;
streamwriter sw = null;
string stringtempcode = "";
try
…{
sr = new streamreader(temp, code);
stringtempcode = sr.readtoend(); // 读取文件
}
catch(exception exp)
…{
httpcontext.current.response.write(exp.message);
httpcontext.current.response.end();
sr.close();
}
string htmlfilename = newsdetails.addtime.tostring("yyyymmddhhmmss") + ".html";
// 替换内容
// 这时,模板文件已经读入到名称为str的变量中了
stringtempcode = stringtempcode.replace("$pagetitle$","抗战online官方网站…");
stringtempcode = stringtempcode.replace("$type$",newsdetails.type.tostring().trim());
stringtempcode = stringtempcode.replace("$author$",newsdetails.author.tostring().trim());
stringtempcode = stringtempcode.replace("$from$",newsdetails.from.trim());
stringtempcode = stringtempcode.replace("$time$",newsdetails.addtime.tostring().trim());
stringtempcode = stringtempcode.replace("$title$",newsdetails.title.trim());
stringtempcode = stringtempcode.replace("$content$",newsdetails.content);
// 写文件
try
…{
sw = new streamwriter(path + htmlfilename , false, code);
sw.write(stringtempcode);
sw.flush();
}
catch(exception ex)
…{
httpcontext.current.response.write(ex.message);
httpcontext.current.response.end();
}
finally
…{
sw.close();
}
return true;
}
}
}
静态页面的生成不管是小到现在的企业网站大至网易,qq等门户都用到了;
那么我们如何来生成静态页呢?
以什么方式生成静态页面呢……
在生成静态页面的时候有那些是要注意的呢:
静态页面命名
统一存放目录
静态页面模板
页面生成
一般来说,在原来新闻系统的基础上我们可以根据get此页面请求的内容再生成(比如:http;//www.test.com/news.aspx?id=1,get此页面代码直接写至一个文本文件并以html命名即可);
在这里我所采用的是模板生成,先用dw做一个网页模板,将标题,内容等将要动态实现的内容先以$title$等替换,等在生成的时候替换成新闻的内容;
命名:在生成的时候一般来说是采用新闻发布的时间转换成的字符串,这个是不会重复的
另外我还按年份月份把这些静态文件存放在不同的目录,以便于管理,
在这里根据一个新闻的id调用方法writenews()给定参数id,它就会根据此id从数据库中读取内容,再根据静态模板页面html/test.html生成新的静态页面存放在相应年份月份的目录
好了,下面是代码:
using system;
using system.io;
using system.web;
using system.text;
namespace powerleader.components
…{
/**//// 〈summary〉
/// writetohtml 的摘要说明。
/// 〈/summary〉
public class writetohtml
…{
public writetohtml()
…{
//
// todo: 在此处添加构造函数逻辑
//
}
public static void writenews(int id)
…{
news news = new news();
news.newsdetails newsdetails = new powerleader.components.news.newsdetails();
newsdetails = news.getnews(id);
bool flag;
flag = writefile(newsdetails);
}
public static bool writefile(news.newsdetails newsdetails)
…{
directory.createdirectory(httpcontext.current.server.mappath("/powerleader/html/"+newsdetails.addtime.tostring("yyyy")+"/"+newsdetails.addtime.tostring("mm")));
string path = httpcontext.current.server.mappath("/html/"+newsdetails.addtime.tostring("yyyy")+"/"+newsdetails.addtime.tostring("mm")+"/");
encoding code = encoding.getencoding("gb2312");
// 读取模板文件
string temp = httpcontext.current.server.mappath("/html/text.html");
streamreader sr = null;
streamwriter sw = null;
string stringtempcode = "";
try
…{
sr = new streamreader(temp, code);
stringtempcode = sr.readtoend(); // 读取文件
}
catch(exception exp)
…{
httpcontext.current.response.write(exp.message);
httpcontext.current.response.end();
sr.close();
}
string htmlfilename = newsdetails.addtime.tostring("yyyymmddhhmmss") + ".html";
// 替换内容
// 这时,模板文件已经读入到名称为str的变量中了
stringtempcode = stringtempcode.replace("$pagetitle$","抗战online官方网站…");
stringtempcode = stringtempcode.replace("$type$",newsdetails.type.tostring().trim());
stringtempcode = stringtempcode.replace("$author$",newsdetails.author.tostring().trim());
stringtempcode = stringtempcode.replace("$from$",newsdetails.from.trim());
stringtempcode = stringtempcode.replace("$time$",newsdetails.addtime.tostring().trim());
stringtempcode = stringtempcode.replace("$title$",newsdetails.title.trim());
stringtempcode = stringtempcode.replace("$content$",newsdetails.content);
// 写文件
try
…{
sw = new streamwriter(path + htmlfilename , false, code);
sw.write(stringtempcode);
sw.flush();
}
catch(exception ex)
…{
httpcontext.current.response.write(ex.message);
httpcontext.current.response.end();
}
finally
…{
sw.close();
}
return true;
}
}
}
顶一下
(1000)
50%
踩一下
(1000)
50%
【已有0位网友发表了看法,点击查看。】 复制本页共享msn或qq等好友
关于的
- 资讯
- ·Koan MP4 极速转换器 V1.1 下载 2009-10-17
- ·【游戏优化】GameJackal Pro 3.1.2.0 - Final 2009-10-17
- ·[下载工具]FlashFXP v3.8 Beta “烈火”简体中文版 2009-10-17
- ·[转码工具]MediaCoder 0.6.2 Build 4225 2009-10-17
- ·[媒体工具]AnyDVD & AnyDVD HD 6.4.9.1 Beta发布 2009-10-17
- ·[上传下载]木翼下载系统(mydown system) v3.3 build 080605 2009-10-17
- ·[优化设置]bitsum process lasso v3.02免费下载 2009-10-17
- ·[系统检测]belarc advisor v7.2.24.6免费下载 2009-10-17
- ·[系统检测]hwinfo32 v2.20电脑硬件检测软件免费下载 2009-10-17
- ·[内存优化]windows内存整理 v3.20.302 免费下载 2009-10-17
跟帖区 已有 0 条跟贴 ( 点击查看 )
网网推荐
推荐资讯
热点相关
- [桌面工具]桌面图标排列助手 v1.2
- [桌面工具]百度小天使 v2.50免费下载.
- [桌面工具]百度小天使 v2.50免费下载
- [编程开发]“/”应用程序中的服务器错误
- [编程开发]asp.net生成静态html页面并分别按年月目录存放.
- [编程开发]asp.net生成静态html页面并分别按年月目录存放
- [编程开发]asp.net应用技巧:js完成listbox内容的交互实例
- [编程开发]让你的.net应用成为一个灰色盒子
- [编程开发]sql server 2005 sp3正式版
- [编程开发]sunwen教程之----c#进阶(七)
- [编程开发]asp.net上传大文件控件
- [编程开发]menalto gallery v2.2.6 多国语言版免费下载
- [编程开发]在右上角加new浮动图标志
- [编程开发]关于数据库技术发展的四个方向
- [编程开发]常用 css 缩写语法总结
- [编程开发]div+css 显示 隐藏 滑动效果
- [系统设置]易窗oem信息设置 1.0绿色版免费下载
- [cpu相关]cpu speed pro 3.0.3.4绿色版免费下载
- [数据恢复]freeundelete 2.0.32209绿色版免费下载
- [系统其它]易窗可视化ini v1.0免费下载
最新资讯
- 1Koan MP4 极速转换器 V1.1 下载
- 2【游戏优化】GameJackal Pro 3.1.2.0 - Final
- 3[下载工具]FlashFXP v3.8 Beta “烈火”简体中文版
- 4[转码工具]MediaCoder 0.6.2 Build 4225
- 5[媒体工具]AnyDVD & AnyDVD HD 6.4.9.1 Beta发布
- 6[上传下载]木翼下载系统(mydown system) v3.3 build 080605
- 7[优化设置]bitsum process lasso v3.02免费下载
- 8[系统检测]belarc advisor v7.2.24.6免费下载
- 9[系统检测]hwinfo32 v2.20电脑硬件检测软件免费下载
- 10[内存优化]windows内存整理 v3.20.302 免费下载
![[编程开发]asp.net应用技巧:js完成listbox内容的交互实例](http://wwwwang.com/uploadfile/zyxzz/upload/2008_10/081030192775741t.jpg)
![[卸载清除]windows清理助手 v3.0.11.9.1118免费下载](http://wwwwang.com/uploadfile/200912/20091213161844236874.gif)

![[网络电视]晴云网视 综合所有电视于一体](http://wwwwang.com/uploadfile/zyxzz/upload/2008_11/081114135699212t.jpg)









