aspx页面转换为html

本文介绍了将ASPX页面转换为HTML的两种方法:模版法和截取Control.Render()中的HtmlTextWriter数据。模版法虽然方便但可扩展性和维护性较差;而截取Render()数据则更灵活。此外,还提出了两种不同的方案架构,一种是通过动态ASPx生成器页面,另一种是让动态页面自身具备生成静态HTML的能力,这两种方法均结合了数据库跟踪和Windows服务或后台线程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

公司做好的网站让我把后缀改为.html,并且里面之前用控件动态读取的数据连接都是a.aspx?id=5的链接改为20100912(名字是动态生成的).html,就是链接也是***.html的后面不要传值,

我看过一些例子也知道有几种方法:

1.         模版法

该方法历史悠久,具体处理流程为采用一个 html 模版,将其中的关键字替换为我们希望的信息。

优点 :

缺点 : 所有的信息都要采取字符串批凑的方式来实现,比如需要一个列表,就需要拼凑字符串。问题是开发周期长,可扩展性非常差,而且不易维护,难修改。

文章参考:

Asp.NET 生成静态页

http://www.codefans.com/ArticleView/Article_6691.html

 

 

2.         截取 Control.Render() 中的 HtmlTextWriter 的数据。

优点:

该方法比较方便而且灵活,在开发中不必顾虑动态和静态页面的统一处理模式。基本上按照动态页面的处理过程处理就 Ok 了。

并可在转换为静态 html 页面的时候过滤掉一些多余的数据及在适当的地方插入数据。

 

数据插入可考虑采取在静态页面中做标记的处理方式,如 <!—Content Begin à 一些正文 <!--Content End  --> ,采取判断 <!-- Content End  --> 标记的方式将需要加入的数据加入到该标记的前面,也可利用该方法替换掉一些在动态页面中做好 <!-- --> 标记的原本用于动态回发等处理的逻辑。

文章参照:

How to freeze a dynamic aspx page into a static html page (on the server).

http://30649.aspx.codebetter.com/blogs/peter.van.ooijen/archive/2004/11/01/30649.aspx

 

方案架构一:

l         通过一个动态 aspx 转换 html 生成器页面来负责生成静态的页面。针对帖子 Topic 和论坛列表都有各自的 Generator 程序。 Generator 程序为 aspx 类型!执行时,将通过一定的验证模式验证操作是否合法。

l         通过一个后台线程或者 Windows 服务来跟踪数据库中已经标记好的尚未生成或者已经更新的但是也尚未静态化的数据列表,通过 WebRequest 来访问静态页面生成器程序,通过一定的参数形式将欲生成的数据标识和生成动作通知给生成器 Generator 。

l         Generator 验证请求是否合法,然后执行生成动作,将动态网页生成为静态 html 页面。

方案架构二 :

l         论坛下的大部分动态 aspx 页面其实都继承自一个页面生成器基类,该基类正常状态下是不激活的。该基类含有能够生成静态 html 的操作函数。

l         通过一个后台线程或者 Windows 服务来跟踪数据库中已经创建或更新的数据,根据数据的内容通过 WebRequest 来访问动态网页的内容,并加上特殊的启动生成器基类生成数据的标记(该标记可为加密的验证逻辑)。

l         动态页面根据请求启动生成 html 的功能,通过指定的处理类将相应的静态文件生成到与其路径完全相同的路径下。

如处理 TopicView.aspx 的生成静态 html 的类通过 TopicViewHtmlGenerator 类来处理。

l         该架构设计灵感参照淘宝的架构而来。

静态页面 :

http://list.taobao.com/browse/14-50003770-1403/t-g,giydcmjuhiytanbxg4--g,giydcmjuhlep3ugh------------2---------40-list-commend-0-all-1403.htm

动态页面 :

http://list.taobao.com/browse/14-50003770-1403/t-g,giydcmjuhiytanbxg4--g,giydcmjuhlep3ugh------------2---------40-list-commend-0-all-1403.jhtml

l         该架构的优点:

与动态网页结合,开发上的顾虑减轻,代码重复劳动减少,保持面向对象特征。

来源:英超直播

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值