在ASP.NET 2.0中直接得到本页面生成的HTML代码
From :
http://dotnet.aspx.cc/article/36e249f6-967a-444b-9433-14de939d1116/read.aspx
 <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml" >
<html xmlns="http://www.w3.org/1999/xhtml" >
 <head runat="server">
<head runat="server">
 <title>得到ASP.NET生成的HTML</title>
    <title>得到ASP.NET生成的HTML</title>
 </head>
</head>
 <body>
<body>
 <form id="form1" runat="server">
    <form id="form1" runat="server">
 <div>
    <div>
 <asp:GridView ID="GridView1" runat="server" Font-Size="12px" BackColor="#FFFFFF"
      <asp:GridView ID="GridView1" runat="server" Font-Size="12px" BackColor="#FFFFFF"
 GridLines="Both" CellPadding="4" Width="560">
      GridLines="Both" CellPadding="4" Width="560">
 <HeaderStyle BackColor="#EDEDED" Height="26px" />
      <HeaderStyle BackColor="#EDEDED" Height="26px" />
 </asp:GridView>
    </asp:GridView>

 </div>
    </div>
 </form>
    </form>
 </body>
</body>
 </html>
</html>
 
后台部分
 using System;
using System;
 using System.Data;
using System.Data;
 using System.Configuration;
using System.Configuration;
 using System.Web;
using System.Web;
 using System.Web.Security;
using System.Web.Security;
 using System.Web.UI;
using System.Web.UI;
 using System.Web.UI.WebControls;
using System.Web.UI.WebControls;
 using System.Web.UI.WebControls.WebParts;
using System.Web.UI.WebControls.WebParts;
 using System.Web.UI.HtmlControls;
using System.Web.UI.HtmlControls;
 using System.Collections;
using System.Collections;


 public partial class _Default : System.Web.UI.Page
public partial class _Default : System.Web.UI.Page 
 {
{
 ICollection CreateDataSource()
    ICollection CreateDataSource()
 {
    {
 System.Data.DataTable dt = new System.Data.DataTable();
        System.Data.DataTable dt = new System.Data.DataTable();
 System.Data.DataRow dr;
        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.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)));
 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++)
        for (int i = 0; i < 50; i++)
 {
        {
 System.Random rd = new System.Random(Environment.TickCount * i);
            System.Random rd = new System.Random(Environment.TickCount * i); 
 dr = dt.NewRow();
            dr = dt.NewRow();
 dr[0] = "班级" + i.ToString();
            dr[0] = "班级" + i.ToString();
 dr[1] = "【孟子E章】" + i.ToString();
            dr[1] = "【孟子E章】" + i.ToString();
 dr[2] = System.Math.Round(rd.NextDouble() * 100, 2);
            dr[2] = System.Math.Round(rd.NextDouble() * 100, 2);
 dr[3] = 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[4] = System.Math.Round(rd.NextDouble() * 100, 2);
 dr[5] = System.Math.Round(rd.NextDouble() * 100, 2);
            dr[5] = System.Math.Round(rd.NextDouble() * 100, 2);
 dt.Rows.Add(dr);
            dt.Rows.Add(dr);
 }
        }
 System.Data.DataView dv = new System.Data.DataView(dt);
        System.Data.DataView dv = new System.Data.DataView(dt);
 return dv;
        return dv;
 }
    }

 protected override void Render(HtmlTextWriter writer)
    protected override void Render(HtmlTextWriter writer)
 {
    {
 System.IO.StringWriter html = new System.IO.StringWriter();
        System.IO.StringWriter html = new System.IO.StringWriter();
 System.Web.UI.HtmlTextWriter tw = new System.Web.UI.HtmlTextWriter(html);
        System.Web.UI.HtmlTextWriter tw = new System.Web.UI.HtmlTextWriter(html);
 base.Render(tw);
        base.Render(tw);
 System.IO.StreamWriter sw;
        System.IO.StreamWriter sw;
 sw = new System.IO.StreamWriter(Server.MapPath("a.htm"), false, System.Text.Encoding.Default);
        sw = new System.IO.StreamWriter(Server.MapPath("a.htm"), false, System.Text.Encoding.Default);
 sw.Write(html.ToString());
        sw.Write(html.ToString());
 sw.Close();
        sw.Close();
 tw.Close();
        tw.Close();
 //Response.Write(html.ToString());
        //Response.Write(html.ToString());
 Response.Redirect("a.htm");
        Response.Redirect("a.htm");


 }
    }  


 protected void Page_Load(object sender, EventArgs e)
    protected void Page_Load(object sender, EventArgs e)
 {
    {
 if (!IsPostBack)
        if (!IsPostBack)
 {
        {
 GridView1.DataSource = CreateDataSource();
            GridView1.DataSource = CreateDataSource();
 GridView1.DataBind();
            GridView1.DataBind();
 }
        }

 }
    }
 }
}
 
这样可以动态生成a.htm页面
http://dotnet.aspx.cc/article/36e249f6-967a-444b-9433-14de939d1116/read.aspx
在ASP.NET 2.0中,有时候需要对ASP.NET生成的HTML代码进行处理,或者是保存成静态文件。ASP.NET 提供了直接将请求保存成文件的方法:HttpRequest.SaveAs方法。下面这个方法就是在ASP.NET 2.0中得到ASP.NET生成的HTML代码,同时,生成一个静态文件的方法。
C#
HTML部分
 <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" >
<html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">
<head runat="server"> <title>得到ASP.NET生成的HTML</title>
    <title>得到ASP.NET生成的HTML</title> </head>
</head> <body>
<body> <form id="form1" runat="server">
    <form id="form1" runat="server"> <div>
    <div> <asp:GridView ID="GridView1" runat="server" Font-Size="12px" BackColor="#FFFFFF"
      <asp:GridView ID="GridView1" runat="server" Font-Size="12px" BackColor="#FFFFFF" GridLines="Both" CellPadding="4" Width="560">
      GridLines="Both" CellPadding="4" Width="560"> <HeaderStyle BackColor="#EDEDED" Height="26px" />
      <HeaderStyle BackColor="#EDEDED" Height="26px" /> </asp:GridView>
    </asp:GridView>
 </div>
    </div> </form>
    </form> </body>
</body> </html>
</html>
后台部分
 using System;
using System; using System.Data;
using System.Data; using System.Configuration;
using System.Configuration; using System.Web;
using System.Web; using System.Web.Security;
using System.Web.Security; using System.Web.UI;
using System.Web.UI; using System.Web.UI.WebControls;
using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts;
using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls;
using System.Web.UI.HtmlControls; using System.Collections;
using System.Collections;

 public partial class _Default : System.Web.UI.Page
public partial class _Default : System.Web.UI.Page  {
{ ICollection CreateDataSource()
    ICollection CreateDataSource() {
    { System.Data.DataTable dt = new System.Data.DataTable();
        System.Data.DataTable dt = new System.Data.DataTable(); System.Data.DataRow dr;
        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.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))); 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++)
        for (int i = 0; i < 50; i++) {
        { System.Random rd = new System.Random(Environment.TickCount * i);
            System.Random rd = new System.Random(Environment.TickCount * i);  dr = dt.NewRow();
            dr = dt.NewRow(); dr[0] = "班级" + i.ToString();
            dr[0] = "班级" + i.ToString(); dr[1] = "【孟子E章】" + i.ToString();
            dr[1] = "【孟子E章】" + i.ToString(); dr[2] = System.Math.Round(rd.NextDouble() * 100, 2);
            dr[2] = System.Math.Round(rd.NextDouble() * 100, 2); dr[3] = 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[4] = System.Math.Round(rd.NextDouble() * 100, 2); dr[5] = System.Math.Round(rd.NextDouble() * 100, 2);
            dr[5] = System.Math.Round(rd.NextDouble() * 100, 2); dt.Rows.Add(dr);
            dt.Rows.Add(dr); }
        } System.Data.DataView dv = new System.Data.DataView(dt);
        System.Data.DataView dv = new System.Data.DataView(dt); return dv;
        return dv; }
    }
 protected override void Render(HtmlTextWriter writer)
    protected override void Render(HtmlTextWriter writer) {
    { System.IO.StringWriter html = new System.IO.StringWriter();
        System.IO.StringWriter html = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter tw = new System.Web.UI.HtmlTextWriter(html);
        System.Web.UI.HtmlTextWriter tw = new System.Web.UI.HtmlTextWriter(html); base.Render(tw);
        base.Render(tw); System.IO.StreamWriter sw;
        System.IO.StreamWriter sw; sw = new System.IO.StreamWriter(Server.MapPath("a.htm"), false, System.Text.Encoding.Default);
        sw = new System.IO.StreamWriter(Server.MapPath("a.htm"), false, System.Text.Encoding.Default); sw.Write(html.ToString());
        sw.Write(html.ToString()); sw.Close();
        sw.Close(); tw.Close();
        tw.Close(); //Response.Write(html.ToString());
        //Response.Write(html.ToString()); Response.Redirect("a.htm");
        Response.Redirect("a.htm");

 }
    }  

 protected void Page_Load(object sender, EventArgs e)
    protected void Page_Load(object sender, EventArgs e) {
    { if (!IsPostBack)
        if (!IsPostBack) {
        { GridView1.DataSource = CreateDataSource();
            GridView1.DataSource = CreateDataSource(); GridView1.DataBind();
            GridView1.DataBind(); }
        }
 }
    } }
}
这样可以动态生成a.htm页面
 
                    
                

 
     
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号