您的位置:首页 > Web前端 > HTML

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

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

<%

@ Page Language="C#" AutoEventWireup="true" %>




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">






<script runat="server">



// 计算数据,完全可以从数据看取得


ICollection CreateDataSource( )






{


System.Data.DataTable dt = new System.Data.DataTable();


System.Data.DataRow dr;


dt.Columns.Add(new System.Data.DataColumn("学生班级", typeof(System.String)));


dt.Columns.Add(new System.Data.DataColumn("学生姓名", typeof(System.String)));


dt.Columns.Add(new System.Data.DataColumn("语文", typeof(System.Decimal)));


dt.Columns.Add(new System.Data.DataColumn("数学", typeof(System.Decimal)));


dt.Columns.Add(new System.Data.DataColumn("英语", typeof(System.Decimal)));


dt.Columns.Add(new System.Data.DataColumn("计算机", typeof(System.Decimal)));




for (int i = 0 ; i < 50 ; i++)






{


System.Random rd = new System.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);


}


System.Data.DataView dv = new System.Data.DataView(dt);


return dv;


}




protected void Page_Load( object sender, EventArgs e )






{


if (!IsPostBack)






{


GridView1.DataSource = CreateDataSource();


GridView1.DataBind();


}


}




protected override void Render( HtmlTextWriter writer )






{


System.IO.StringWriter html = new System.IO.StringWriter();


System.Web.UI.HtmlTextWriter tw = new System.Web.UI.HtmlTextWriter(html);


base.Render(tw);


System.IO.StreamWriter sw;


sw = new System.IO.StreamWriter(Server.MapPath("a.htm"), false, System.Text.Encoding.Default);


sw.Write(html.ToString());


sw.Close();


tw.Close();


Response.Write(html.ToString());


}


</script>




<html xmlns="http://www.w3.org/1999/xhtml">


<head>


<title>得到ASP.NET生成的HTML</title>


</head>


<body>


<form id="Form1" runat="server">


<asp:GridView ID="GridView1" runat="server" Font-Size="12px" BackColor="#FFFFFF"


GridLines="Both" CellPadding="4" Width="560">


<HeaderStyle BackColor="#EDEDED" Height="26px" />


</asp:GridView>


</form>


</body>


</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: