.net自动将动态.aspx转换为.html页面,如何将.aspx转换成静态的HTML
静态页技术大致有两种方式:一)伪静态,或者更专业点 叫做 url rewrite. asp.net中你可以选择一些开源组件进行重写url.文章以及代码资源:当然还有其他的,更当然你可以自己写,主要运用asp.net管道机制,httpmodule.具体知识,你可以搜索啦.二)基于服务器访问压力,在服务器端生成纯静态html页面.,或者基于模板技术,生成静态页面.也就是静态页面里面有类似标签的东西,你
静态页技术大致有两种方式:
一)
伪静态,或者更专业点 叫做 url rewrite. asp.net中你可以选择一些开源组件进行重写url.
文章以及代码资源:
当然还有其他的,更当然你可以自己写,主要运用asp.net管道机制,httpmodule.具体知识,你可以搜索啦.
二)
基于服务器访问压力,在服务器端生成纯静态html页面.,或者基于模板技术,生成静态页面.也就是静态页面里面有类似标签的东西,你自己写正则表达式进行替换.这个主要是原理,当然你可以参考使用一些开源模板引擎.
开源资源:
1)
stringtemplate
2)
你也可以看看一些开源的项目进行学习,比如discuz等.
下面提供的简单实现原理.
//源码是替换掉模板中的特征字符
string mbPath = Server.MapPath("template.htm");
Encoding code = Encoding.GetEncoding("gb2312");
StreamReader sr = null;
StreamWriter sw = null;
string str = null;
//读取
try
{
sr = new StreamReader(mbPath, code);
str = sr.ReadToEnd();
}
catch (Exception ex)
{
throw ex;
}
finally
{
sr.Close();
}
string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".html";
str = str.Replace("$title$", txtTitle.Text);//替换Title
str = str.Replace("$content$", txtContent.Text);//替换content
//生成静态文件
try
{
sw = new StreamWriter(Server.MapPath("html/") + fileName, false, code);
sw.Write(str);
sw.Flush();
}
catch (Exception ex)
{
}
finally
{
sw.Close();
Response.Write("恭喜" + fileName + "已经生成,保存在html文件夹下!");
}
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)