在ASP.NET 2.0中直接得到本页面生成的HTML代码

ASP.NET生成HTML并保存为静态文件
本文介绍了一种在ASP.NET2.0中获取动态生成的HTML代码并将其保存为静态文件的方法。通过使用自定义函数创建数据源填充GridView,并通过重写Render方法将页面内容保存到指定路径。
<%@PageLanguage="VB"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>

<scriptrunat="server">
FunctionCreateDataSource()AsICollection
DimdtAsSystem.Data.DataTable
=NewSystem.Data.DataTable
DimdrAsSystem.Data.DataRow
dt.Columns.Add(NewSystem.Data.DataColumn(
"学生班级",GetType(System.String)))
dt.Columns.Add(NewSystem.Data.DataColumn(
"学生姓名",GetType(System.String)))
dt.Columns.Add(NewSystem.Data.DataColumn(
"语文",GetType(System.Decimal)))
dt.Columns.Add(NewSystem.Data.DataColumn(
"数学",GetType(System.Decimal)))
dt.Columns.Add(NewSystem.Data.DataColumn(
"英语",GetType(System.Decimal)))
dt.Columns.Add(NewSystem.Data.DataColumn(
"计算机",GetType(System.Decimal)))
DimiAsInteger
=0
Fori
=0To50-1
DimrdAsSystem.Random
=NewSystem.Random(Environment.TickCount*i)
dr
=dt.NewRow
dr(
0)="班级"+i.ToString
dr(
1)="【孟子E章】"+i.ToString
dr(
2)=System.Math.Round(rd.NextDouble*100,2)
dr(
3)=System.Math.Round(rd.NextDouble*100,2)
dr(
4)=System.Math.Round(rd.NextDouble*100,2)
dr(
5)=System.Math.Round(rd.NextDouble*100,2)
dt.Rows.Add(dr)
Next
DimdvAsSystem.Data.DataView
=NewSystem.Data.DataView(dt)
Returndv
EndFunction

ProtectedSubPage_Load(ByValsenderAsObject,ByValeAsEventArgs)
IfNotIsPostBackThen
GridView1.DataSource
=CreateDataSource()
GridView1.DataBind()
EndIf
EndSub

ProtectedOverloadsOverridesSubRender(ByValwriterAsHtmlTextWriter)
DimhtmlAsSystem.IO.StringWriter
=NewSystem.IO.StringWriter
DimtwAsSystem.Web.UI.HtmlTextWriter
=NewSystem.Web.UI.HtmlTextWriter(html)
MyBase.Render(tw)
DimswAsSystem.IO.StreamWriter
sw
=NewSystem.IO.StreamWriter(Server.MapPath("a.htm"),False,System.Text.Encoding.Default)
sw.Write(html.ToString)
sw.Close()
tw.Close()
Response.Write(html.ToString)
Endsub
</script>
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title>得到ASP.NET生成的HTML</title>
</head>
<body>
<formid="Form1"runat="server">
<asp:GridViewID="GridView1"runat="server"Font-Size="12px"BackColor="#FFFFFF"
GridLines
="Both"CellPadding="4"Width="560">
<HeaderStyleBackColor="#EDEDED"Height="26px"/>
</asp:GridView>
</form>
</body>
</html>
在ASP.NET 2.0中,有时候需要对ASP.NET生成的HTML代码进行处理,或者是保存成静态文件。ASP.NET 提供了直接将请求保存成文件的方法:HttpRequest.SaveAs方法。下面这个方法就是在ASP.NET 2.0中得到ASP.NET生成的HTML代码,同时,生成一个静态文件的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值