最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
.net生成静态页面原理与代码
时间:2011-03-22 编辑:简简单单 来源:一聚教程网
一种是直接访问动态页面地址,将其生成的html代码保存成静态页面。另一种是通过读取页面模板,对其中需要替换的内容进行替换的方式进行生成。其中前一种方法简单,对于生成单个页面或少量页面比较实用,而对大量的页面且页面之间彼此关联复杂的,第一种就不太方便。对于使用模板的方法稍微复杂,这里不详细讨论,只给出第一种方法应对不太复杂的项目的应用。
using system;
using system.collections.generic;
using system.web;
using system.web.ui;
using system.web.ui.webcontrols;
using system.text.regularexpressions;
namespace webtest
{
public partial class test : system.web.ui.page
{
protected void page_load(object sender, eventargs e)
{
string content = "";
string newcontent = content;
regex rg = new regex("href="); //正则定位到链接
int len = 5; //正则字符长度
matchcollection mc = rg.matches(content);
foreach (match m in mc)
{
int startindex = m.index + len + 1; //定位到的url的起始位置
int endindex = content.indexof(""", m.index + len + 1); //定位到的url的结束位置
string originalurl = content.substring(startindex, endindex - startindex); //获取到url的全地址
string newurl = "";
newurl = originalurl.replace(".aspx?classid=", "-class-"); //产品类型的替换
newurl = newurl.replace(".aspx?id=", "-"); //产品的替换
newurl = newurl.replace(".aspx", "");
newurl += ".html";
newcontent = newcontent.replace(originalurl +""", newurl +"""); //替换掉原url地址为静态地址
}
response.write(string.format("原内容:{0}
新内容:{1}", content.replace("<", "<").replace(">", ">"), newcontent.replace("<", "<").replace(">", ">")));
}
}
}
-
上一个: asp.net 缓存操作代码
相关文章
- C#复制数组的两种方式及效率比较解读 10-24
- ASP.NET Identity用法解析 10-24
- ASP.NET MVC使用Identity增删改查用户介绍 10-24
- C语言中atoi函数模拟实现介绍 10-18
- .Net反向代理组件Yarp用法介绍 10-10
- .NET使用YARP通过编码方式配置域名转发实现反向代理教程 10-10