用C#写的ASp.net BBS,在已发表的贴子页面(A.aspx)上有一个已发贴子的列表,在每一个贴子的主题上单击后,就会打开另一个页面(B.aspx),显示对该主题的回贴,现在想将这两个页面转换为静态的html页面(A.html,B.html),其中已包含了所有的数据(原来的数据当然是从服务器中的Sql-Server中得到的),这样在A.html中单击每一个主题后,就会打开B.html显示相应的回贴内容,如何做?(直接在A.aspx,B.aspx中设置一个按钮,按下后转换可以,用C#另外写一个程序,处理.aspx文件也可以)最终目的就是要得到A.html,B.html.

解决方案 »

  1.   

    一般帖子的样式都是一样的,你只要照平常的ASPX转换成HTML的样子,给你的没个地方做个标记,到时候通过REPLACE转换相应内容就可以了,然后在其最后一条留言后面要再填加标记,比如你原来的标记是[[留言内容]],这次也要一样,比如有新的流言,那么就找到他的HTML文件名,然后在覆盖这个标记,然后记得在后面又加个标记就好了,这是我的思路,没做过,你自己参考一下啦!
      

  2.   

    重写IHttpHandler请求就是了。可以把任何后缀名的文件当成aspx一样使用。
      

  3.   

    to :luckyprg
    如何重写IHttpHandler?我现在可以在页面上设一个按钮,按下后,可以将当前页面转换为 .doc,.xls,.html下载到本地机器上,在.doc,.xls中文字和图片都能看见,但在.html中只能看到文字,看不到图片,查看其源文件,所有的图片的地址都是服务器上的地址,在本地当然没有,所以就看不到图片.
    而且在.doc,.xls中的超连接也不好用了.如何做才好
      

  4.   

    在数据库中给贴子加个字段LinkHtm,保存生成的静态页面的文件名,
    A页就是显示所有的主题是吧
    从数据库中读出来替换模板里的标记,
    主题的链接地址从数据库里的LinkHtm中读出来.
    比如你在后台添加一篇文章的时候用系统时间命名他会生成一个文件:
    2050412181125.htm
    这个2050412181125.htm就与该文章内容一起保存在一条记录里,用字段LinkHtm表示.
    以后你要链接到哪就从这读出名称呗,然后就链接过去了接下来就是从数据库里读出的具体内容生成静态页了简单了.
      

  5.   

    u need to save as "mht" file, not "htm"...