儲存ASPX 生成的html程式碼
在ASP.NET 2.0中,有時候需要對ASP.NET生成的HTML程式碼進行處理,或者是儲存成靜態檔案。ASP.NET 提供了直接將請求儲存成檔案的方法:HttpRequest.SaveAs方法。下面這個方法就是在ASP.NET 2.0中得到ASP.NET生成的HTML程式碼,同時,生成一個靜態檔案的方法。
C#
<%@ 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">
// 計算資料,完全可以從資料看取得
違規廣告ection 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>
VB.NET
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script. runat="server">
Function CreateDataSource() As 違規廣告ection
Dim dt As System.Data.DataTable = New System.Data.DataTable
Dim dr As System.Data.DataRow
dt.Columns.Add(New System.Data.DataColumn("學生班級", GetType(System.String)))
dt.Columns.Add(New System.Data.DataColumn("學生姓名", GetType(System.String)))
dt.Columns.Add(New System.Data.DataColumn("語文", GetType(System.Decimal)))
dt.Columns.Add(New System.Data.DataColumn("數學", GetType(System.Decimal)))
dt.Columns.Add(New System.Data.DataColumn("英語", GetType(System.Decimal)))
dt.Columns.Add(New System.Data.DataColumn("計算機", GetType(System.Decimal)))
Dim i As Integer = 0
For i = 0 To 50 - 1
Dim rd As System.Random = 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)
Next
Dim dv As System.Data.DataView = New System.Data.DataView(dt)
Return dv
End Function
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
If Not IsPostBack Then
GridView1.DataSource = CreateDataSource()
GridView1.DataBind()
End If
End Sub
Protected Overloads Overrides Sub Render(ByVal writer As HtmlTextWriter)
Dim html As System.IO.StringWriter = New System.IO.StringWriter
Dim tw As System.Web.UI.HtmlTextWriter = New System.Web.UI.HtmlTextWriter(html)
MyBase.Render(tw)
Dim sw As System.IO.StreamWriter
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)
End sub
</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
</html>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-561378/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何將html程式碼儲存為Pdf檔案HTML
- R 如何把ployly生成的圖表儲存成htmlHTML
- GridView生成的HTML程式碼ViewHTML
- aspx程式碼審計-2
- oracle批量生成日期字尾的表儲存過程程式碼Oracle儲存過程
- 儲存過程批量生成awr指令碼儲存過程指令碼
- 小程式-生成海報儲存本地相簿
- 使用MyGeneration生成儲存過程和資料訪問層程式碼儲存過程
- 將動態aspx頁面,儲存為靜態htm檔案 (轉)
- HTML5 web儲存HTMLWeb
- 編碼導致 html和aspx 樣式差異,變形HTML
- 小程式生成二維碼圖片儲存相簿並分享到朋友圈
- 我的測試儲存過程程式碼儲存過程
- HTML5 之本地儲存HTML
- html5-web本地儲存HTMLWeb
- OceanBase 儲存層程式碼解讀(三)巨集塊儲存格式
- OceanBase 儲存層程式碼解讀(二)微塊儲存格式
- 用深度學習自動生成HTML程式碼深度學習HTML
- 將表資料生成SQL指令碼的儲存過程和工具SQL指令碼儲存過程
- JDBC 呼叫儲存過程程式碼示例JDBC儲存過程
- oracle儲存過程分頁程式碼Oracle儲存過程
- 備份ABAP程式碼 (分模組儲存)
- 最程式碼的上傳的程式碼檔案儲存什麼地方呢?
- 程式儲存器的分段
- OceanBase 原始碼解讀(九):儲存層程式碼解讀之「巨集塊儲存格式」原始碼
- 如何安全的儲存使用者密碼?(中)程式碼篇密碼
- [Shell] Shell 生成 HTML指令碼HTML指令碼
- HTML5系列:HTML5本地儲存HTML
- 一個自動生成用ADO呼叫SQL SERVER的儲存過程VB程式碼的ADDIN (轉)SQLServer儲存過程
- python 3.6如何儲存編輯好的程式碼Python
- 線性表的順序儲存C++程式碼C++
- js基於Cookie的儲存類例項程式碼JSCookie
- Java圖片剪裁併儲存的程式碼實現Java
- html2canvas:將html的dom變成圖片,並儲存HTMLCanvas
- Mysql儲存過程基礎(案例+程式碼)MySql儲存過程
- ORACLE高效分頁儲存過程程式碼Oracle儲存過程
- 生成sql server2000物件建立指令碼的儲存過程(轉)SQLServer物件指令碼儲存過程
- 清除SVN儲存的密碼密碼