儲存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
- 小程式-生成海報儲存本地相簿
- 臨時儲存程式碼
- OceanBase 儲存層程式碼解讀(三)巨集塊儲存格式
- OceanBase 儲存層程式碼解讀(二)微塊儲存格式
- JIT 編譯後的程式碼儲存位置編譯
- HTML5 之本地儲存HTML
- 小程式生成二維碼圖片儲存相簿並分享到朋友圈
- python 3.6如何儲存編輯好的程式碼Python
- OceanBase 原始碼解讀(九):儲存層程式碼解讀之「巨集塊儲存格式」原始碼
- html2canvas:將html的dom變成圖片,並儲存HTMLCanvas
- 線性表的順序儲存C++程式碼C++
- Mysql儲存過程基礎(案例+程式碼)MySql儲存過程
- OceanBase 儲存層程式碼解讀(一)引言
- 200 行程式碼實現基於 Paxos 的 KV 儲存行程
- HTML5中的網路儲存實現方式HTML
- 【資料結構】二叉樹(順序儲存、鏈式儲存)的JAVA程式碼實現資料結構二叉樹Java
- 生成二維碼,並且儲存,指定位置的view成圖片,並且儲存到本地相簿View
- 【Azure 儲存服務】程式碼版 Azure Storage Blob 生成 SAS (Shared Access Signature: 共享訪問簽名)
- [html基礎]原生表格一鍵搭建,一鍵生成程式碼HTML
- MySQL建立隨機生成電話的儲存函式MySql隨機儲存函式
- 在 macOS 內使用大小寫敏感的 APFS 卷儲存程式碼Mac
- 線性表的順序儲存C++程式碼實現C++
- 2.9.3 安全的外部密碼儲存密碼
- 生成小程式二維碼(二進位制資料流轉圖片儲存上傳七牛)
- Python中檔案讀取與儲存程式碼示例Python
- vscode使用stylelint儲存自動格式化程式碼VSCode
- 分散式日誌儲存架構程式碼實踐分散式架構
- 使用HTML5 IndexDB儲存影象和檔案HTMLIndex
- 利用Node實現HTML5離線儲存HTML
- 前端利器!讓AI根據手繪原型生成HTML | 教程+程式碼前端AI原型HTML
- 前端慌不慌?AI根據手繪原型生成HTML【附程式碼】前端AI原型HTML
- 《程式碼大全》程式碼生成
- 你的程式碼將會被GitHub埋在北極,儲存1000年!Github
- 塊儲存 檔案儲存 物件儲存物件
- HDU-安卓程式開發之簡單儲存/內部儲存/外部儲存 & 捉蟲安卓
- IntelliJ IDEA啟用Eslint儲存自動程式碼修復IntelliJIdeaEsLint
- 獲取微信小程式二維碼並且儲存微信小程式
- Eclipse 儲存檔案時自動格式化程式碼的設定Eclipse