你在生成html之前,不就是可以动态取数据吗?控件么 都使用客户端控件,交互用ajax 

解决方案 »

  1.   

    动态变静态
    方法一:使用现成的插件,比如:ISAPI_Rewrite、IIS Rewrite、Apache HTTP服务器的mod_rewrite等,它们都是基于正则表达式解析器开发的重写引擎。它们的使用方法查看它们自带的帮助即可。
    方法二:自己写的代码实现动态网页静态化,方法也有好几种:
    1、创建FSO对象,利用此对象将所需的内容动态创建到文件中生成HTML页面;
    2、利用模板技术,将模板中特殊代码的值替换为从表单或是数据库字段中接受过来的值 生成HTML文件;
    3、使用Server.Transfer转换技术,
    方法三:使用HttpWebRequest请求客户端的方式,获取返回资源,生成静态页面。一般这样只需要获取网页内容即可,其它资源可放置在服务器上,自动加载。(注:此方法缺点明显,需要大量更改匹配URL,建议慎用)
    方法四:在asp中有IhttpModule接口。Ihttpmodule可以简单理解为一个可以在执行像.aspx,或者mvc中control/action前,添加我们自定义的操作的东西。
    我们只需要编写这么一个HttpModule就可以了,当用户第一次请求asp处理时,我们可以在ihttpmodule中拦截到这个请求,然后获取到这次请求应该返回的html代码,然后我们返回这些html给用户,并保存刚才我们获取到的html到文件内,当用户下次请求时,我们只需要直接返回我们已经保存的html文件即可
      

  2.   

    所谓静态网站,是指脱离了(例如)asp.net这种系统的网站,仅需要最轻量级的、功能最少的web服务器就可以支持。因此性能很好,不需要执行什么复杂的功能。“url伪娘”则是一种闲的没事的操作。过去有人说“搜索引擎偏爱.html后缀的网页”,现在证明这是过去那些做seo的人瞎说八道的。搜索引擎对于.html后缀和对于.php、.jsp、.aspx、.fck、.cctv、.ccav后缀,以及没有后缀的网页名称,一视同仁。但是伪娘一旦成为时髦,要再被看作“有伤风化”还是需要数年时间。动态网站通常由一个强大的后台服务处理用户的复杂请求,尤其适合针对那些需要一些企业服务的网页,例如淘宝的交易和排行网页就一定是高度动态的,而简单的特定商品展示网页则可以使静态的。动态网站消耗服务器资源。如果你买不起10几台服务器(而不是像那些拿着投资人的钱随便就买1万台服务器的土豪网站一样),可是你的内容又需要10几台服务器来承载,那么你真的需要精打细算地把一些东西变为静态的。以前类似asp.net等等的空间商提供的低价格网站空间系统不稳定,这也是让动态网站声誉不好的原因之一。
      

  3.   

    在asp.net中,使用“页面缓存、片段缓存”来避免额外地使用服务器资源。但是仍然离不开asp.net系统。所谓“动态变静态”,就跟你现在在浏览器页面上选择“鼠标右键菜单选项”中的“另存网页”一样,或者就跟你找一个网站下载工具一样,可以将网页上所有的资源文件全都下载(所不同的是,这些下载工具太聪明了,它还修改了一些链接。而简单地静态文件不需要修改链接)。关键是,你保存了之后,需要重新部署或另存的东西。许多人根本不知道如何部署,只是知道一个“另存功能”(例如使用HttpReqest简单地取得html源代码),这就等于学生课堂上谈带兵打仗,还缺少个一些必要的功夫。你就算是部署了完整的“静态文件”,还需要自动测试其连接有效,还要将所有外链全都由之前的地址改为这个新的地址。