在ASP.NET 2.0中直接得到本页面生成的HTML代码(转自孟宪会之精彩世界)

在ASP.NET 2.0中,有时候需要对ASP.NET生成的HTML代码进行处理,或者是保存成静态文件。ASP.NET 提供了直接将请求保存成文件的方法:HttpRequest.SaveAs方法。下面这个方法就是在ASP.NET 2.0中得到ASP.NET生成的HTML代码,同时,生成一个静态文件的方法。

 

 1 None.gif <% @ Page Language = " C# "  AutoEventWireup = " true "   %>
 2 None.gif
 3 None.gif <! DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.0 Transitional//EN "
 4 None.gif  " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
 5 None.gif
 6 None.gif < script runat = " server " >
 7 None.gif   //  计算数据,完全可以从数据看取得
 8 None.gif   ICollection CreateDataSource( )
 9 ExpandedBlockStart.gifContractedBlock.gif   dot.gif {
10InBlock.gif    System.Data.DataTable dt = new System.Data.DataTable();
11InBlock.gif    System.Data.DataRow dr;
12InBlock.gif    dt.Columns.Add(new System.Data.DataColumn("学生班级"typeof(System.String)));
13InBlock.gif    dt.Columns.Add(new System.Data.DataColumn("学生姓名"typeof(System.String)));
14InBlock.gif    dt.Columns.Add(new System.Data.DataColumn("语文"typeof(System.Decimal)));
15InBlock.gif    dt.Columns.Add(new System.Data.DataColumn("数学"typeof(System.Decimal)));
16InBlock.gif    dt.Columns.Add(new System.Data.DataColumn("英语"typeof(System.Decimal)));
17InBlock.gif    dt.Columns.Add(new System.Data.DataColumn("计算机"typeof(System.Decimal)));
18InBlock.gif
19InBlock.gif    for (int i = 0 ; i < 50 ; i++)
20ExpandedSubBlockStart.gifContractedSubBlock.gif    dot.gif{
21InBlock.gif      System.Random rd = new System.Random(Environment.TickCount * i); ;
22InBlock.gif      dr = dt.NewRow();
23InBlock.gif      dr[0= "班级" + i.ToString();
24InBlock.gif      dr[1= "【孟子E章】" + i.ToString();
25InBlock.gif      dr[2= System.Math.Round(rd.NextDouble() * 1002);
26InBlock.gif      dr[3= System.Math.Round(rd.NextDouble() * 1002);
27InBlock.gif      dr[4= System.Math.Round(rd.NextDouble() * 1002);
28InBlock.gif      dr[5= System.Math.Round(rd.NextDouble() * 1002);
29InBlock.gif      dt.Rows.Add(dr);
30ExpandedSubBlockEnd.gif    }

31InBlock.gif    System.Data.DataView dv = new System.Data.DataView(dt);
32InBlock.gif    return dv;
33ExpandedBlockEnd.gif  }

34 None.gif
35 None.gif   protected   void  Page_Load(  object  sender, EventArgs e )
36 ExpandedBlockStart.gifContractedBlock.gif   dot.gif {
37InBlock.gif    if (!IsPostBack)
38ExpandedSubBlockStart.gifContractedSubBlock.gif    dot.gif{
39InBlock.gif      GridView1.DataSource = CreateDataSource();
40InBlock.gif      GridView1.DataBind();
41ExpandedSubBlockEnd.gif    }

42ExpandedBlockEnd.gif  }

43 None.gif
44 None.gif   protected   override   void  Render( HtmlTextWriter writer )
45 ExpandedBlockStart.gifContractedBlock.gif   dot.gif {
46InBlock.gif    System.IO.StringWriter html = new System.IO.StringWriter();
47InBlock.gif    System.Web.UI.HtmlTextWriter tw = new System.Web.UI.HtmlTextWriter(html);
48InBlock.gif    base.Render(tw);
49InBlock.gif    System.IO.StreamWriter sw;
50InBlock.gif    sw = new System.IO.StreamWriter(Server.MapPath("a.htm"), false, System.Text.Encoding.Default);
51InBlock.gif    sw.Write(html.ToString());
52InBlock.gif    sw.Close();
53InBlock.gif    tw.Close();
54InBlock.gif    Response.Write(html.ToString());
55ExpandedBlockEnd.gif  }
  
56 None.gif </ script >
57 None.gif
58 None.gif < html xmlns = " http://www.w3.org/1999/xhtml " >
59 None.gif < head >
60 None.gif   < title > 得到ASP.NET生成的HTML </ title >
61 None.gif </ head >
62 None.gif < body >
63 None.gif   < form id = " Form1 "  runat = " server " >
64 None.gif     < asp:GridView ID = " GridView1 "  runat = " server "  Font - Size = " 12px "  BackColor = " #FFFFFF "
65 None.gif      GridLines = " Both "  CellPadding = " 4 "  Width = " 560 " >
66 None.gif       < HeaderStyle BackColor = " #EDEDED "  Height = " 26px "   />
67 None.gif     </ asp:GridView >
68 None.gif   </ form >
69 None.gif </ body >
70 None.gif </ html >
71 None.gif

转载于:https://www.cnblogs.com/wxukie/archive/2007/04/24/724809.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值