在ASP.NET 2.0中,有时候需要对ASP.NET生成的HTML代码进行处理,或者是保存成静态文件。ASP.NET 提供了直接将请求保存成文件的方法:HttpRequest.SaveAs方法。下面这个方法就是在ASP.NET 2.0中得到ASP.NET生成的HTML代码,同时,生成一个静态文件的方法。
1
<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
%>
2![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
<!
DOCTYPE html PUBLIC
"
-//W3C//DTD XHTML 1.0 Transitional//EN
"
4
"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
"
>
5![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
<
script runat
=
"
server
"
>
7
//
计算数据,完全可以从数据看取得
8
ICollection CreateDataSource( )
9![ExpandedBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
10
System.Data.DataTable dt = new System.Data.DataTable();
11
System.Data.DataRow dr;
12
dt.Columns.Add(new System.Data.DataColumn("学生班级", typeof(System.String)));
13
dt.Columns.Add(new System.Data.DataColumn("学生姓名", typeof(System.String)));
14
dt.Columns.Add(new System.Data.DataColumn("语文", typeof(System.Decimal)));
15
dt.Columns.Add(new System.Data.DataColumn("数学", typeof(System.Decimal)));
16
dt.Columns.Add(new System.Data.DataColumn("英语", typeof(System.Decimal)));
17
dt.Columns.Add(new System.Data.DataColumn("计算机", typeof(System.Decimal)));
18![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
19
for (int i = 0 ; i < 50 ; i++)
20![ExpandedSubBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
21
System.Random rd = new System.Random(Environment.TickCount * i); ;
22
dr = dt.NewRow();
23
dr[0] = "班级" + i.ToString();
24
dr[1] = "【孟子E章】" + i.ToString();
25
dr[2] = System.Math.Round(rd.NextDouble() * 100, 2);
26
dr[3] = System.Math.Round(rd.NextDouble() * 100, 2);
27
dr[4] = System.Math.Round(rd.NextDouble() * 100, 2);
28
dr[5] = System.Math.Round(rd.NextDouble() * 100, 2);
29
dt.Rows.Add(dr);
30
}
31
System.Data.DataView dv = new System.Data.DataView(dt);
32
return dv;
33
}
34![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
35
protected
void
Page_Load(
object
sender, EventArgs e )
36![ExpandedBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
37
if (!IsPostBack)
38![ExpandedSubBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
39
GridView1.DataSource = CreateDataSource();
40
GridView1.DataBind();
41
}
42
}
43![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
44
protected
override
void
Render( HtmlTextWriter writer )
45![ExpandedBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
46
System.IO.StringWriter html = new System.IO.StringWriter();
47
System.Web.UI.HtmlTextWriter tw = new System.Web.UI.HtmlTextWriter(html);
48
base.Render(tw);
49
System.IO.StreamWriter sw;
50
sw = new System.IO.StreamWriter(Server.MapPath("a.htm"), false, System.Text.Encoding.Default);
51
sw.Write(html.ToString());
52
sw.Close();
53
tw.Close();
54
Response.Write(html.ToString());
55
}
56
</
script
>
57![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
58
<
html xmlns
=
"
http://www.w3.org/1999/xhtml
"
>
59
<
head
>
60
<
title
>
得到ASP.NET生成的HTML
</
title
>
61
</
head
>
62
<
body
>
63
<
form id
=
"
Form1
"
runat
=
"
server
"
>
64
<
asp:GridView ID
=
"
GridView1
"
runat
=
"
server
"
Font
-
Size
=
"
12px
"
BackColor
=
"
#FFFFFF
"
65
GridLines
=
"
Both
"
CellPadding
=
"
4
"
Width
=
"
560
"
>
66
<
HeaderStyle BackColor
=
"
#EDEDED
"
Height
=
"
26px
"
/>
67
</
asp:GridView
>
68
</
form
>
69
</
body
>
70
</
html
>
71
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
9
![ExpandedBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![ContractedBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![dot.gif](https://www.cnblogs.com/Images/dot.gif)
10
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
15
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
19
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
![ExpandedSubBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](https://www.cnblogs.com/Images/dot.gif)
21
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
22
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
23
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
24
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
25
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
26
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
27
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
28
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
29
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
30
![ExpandedSubBlockEnd.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
31
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
32
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
33
![ExpandedBlockEnd.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
34
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
35
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
36
![ExpandedBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![ContractedBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![dot.gif](https://www.cnblogs.com/Images/dot.gif)
37
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
38
![ExpandedSubBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](https://www.cnblogs.com/Images/dot.gif)
39
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
40
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
41
![ExpandedSubBlockEnd.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
42
![ExpandedBlockEnd.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
43
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
44
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
45
![ExpandedBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![ContractedBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![dot.gif](https://www.cnblogs.com/Images/dot.gif)
46
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
47
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
48
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
49
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
50
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
51
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
52
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
53
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
54
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
55
![ExpandedBlockEnd.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
56
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
57
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
58
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
59
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
60
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
61
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
62
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
63
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
64
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
65
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
66
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
67
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
68
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
69
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
70
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
71
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)