关于aspx文件生成静态页面问题与我的回答

http://community.csdn.net/Expert/topic/4402/4402646.xml
主  题:  _____ 关于生成静态页面的一段代码,谢谢 
作  者:  vvf032 (努力) 
等  级:   
信 誉 值:  100 
所属社区:  .NET技术 ASP.NET 
问题点数:  100 
回复次数:  25 
发表时间:  2005-11-18 14:14:15 

我有一段代码,是把本身的页面转换为静态页面,比如把它放在a.aspx的某个按钮事件中就把
a.aspx中是把a.aspx---> a.htm
可是现在,我想在a.aspx中,把b.aspx--->b.htm, 这就比如我在网站的后台管理页面a.aspx中操作,改变了数据,然后想重新生成b.aspx的静态页面b.htm
不知道该如何修改这段代码,而获得b.aspx的信息,谢谢前辈们帮忙
Response.Charset = ""
        Me.EnableViewState = False
        Dim tw As System.IO.StringWriter = New System.IO.StringWriter
        Dim wt As HtmlTextWriter = New HtmlTextWriter(tw)
        Dim path As String = "C:/Inetpub/wwwroot/iec/a.htm"
        Dim wter As System.IO.StreamWriter = System.IO.File.CreateText(path)
        Me.RenderControl(wt)
        wter.Write(tw.ToString)
        wter.Close()
        wt.Close()
        tw.Close()
        Response.End()
        Response.Redirect(path)
-------------------------------------------------------------------------

Server.Execute("b.aspx", tw);
试试。
---------------------
楼主这种方法我没用过,一般生成静态页面的方法是先建立空的模板html文件然后读aspx然后命名、写入到新html中。具体方法可以参考下面的:
http://blog.csdn.net/lvmenglong/archive/2005/08/13/453617.aspx
http://blog.csdn.net/gonaly/archive/2005/03/05/312071.aspx
http://blog.csdn.net/cncca/archive/2005/06/22/400669.aspx
http://blog.csdn.net/aoyux/archive/2004/10/14/135705.aspx

我想这样的问题一定有解决的办法。
方便的话把你的工程(至少是这个页面及其代码)发到我邮箱realzeus@gmail.com
我今天外出明晚回来帮你看。

收到代码了,看了后如下解决,在你a.aspx的Button2下加入如下语句即可生成b.aspx的静态页面:
        Response.Charset = "GB2312"
        Me.EnableViewState = False
        Dim tw As System.IO.StringWriter = New System.IO.StringWriter
        tw.Encoding.GetEncoding("GB2312")
        Dim wt As HtmlTextWriter = New HtmlTextWriter(tw)
        Server.Execute("b.aspx", tw)
        Dim path As String = Server.MapPath("a.htm")
        Dim wter As System.IO.StreamWriter
        wter = System.IO.File.CreateText(path)
        'Me.RenderControl(wt)
        wter.Write(tw.ToString)
        wter.Close()
        wt.Close()
        tw.Close()
        Response.End()
        'Response.Flush()

回复人: zeusvenus(清柳,需要讨论请发消息) ( ) 信誉:110  2005-11-21 1:09:00  得分: 93 

整个代码我发过去到你邮箱了,现在基本不用VB.NET,语法都快忘了:)
上面代码这在VS.NET2003和VS.NET2005BETA2下均测试通过。
关于乱码问题,是因为你的整个工程编码是utf-8的,所以你在浏览器中打开后选择浏览器菜单的“查看”-“编码”-“Unicode(utf-8)”后即可正常显示。如果你要让默认的是GB2312,把web.config及每个aspx.regx的编码方式和每次输出保存的编码方式指定为GB2312即可,这不是什么问题。 

转:http://zeus.cnblogs.com/archive/2005/11/21/281255.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值