• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
新能源汽车行业用户产品设计
新能源汽车行业、面向C端用户的产品设计
博客园    首页    新随笔       管理     

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

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

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

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 ICollection
    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 

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">
  
// 计算数据,完全可以从数据看取得
  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>



声明:此文章部分或者全部内容来源于网络,如果侵犯到您的权利,请电邮我(dushizhuma(a)163.com),我将在第一时间内删除此文章并送出我的歉意!
posted @ 2007-05-04 22:11  阿一(杨正祎)  阅读(1345)  评论(3)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3