sponsored links

.NET 2.0中直接得到页面HTML代码

在ASP.NET2.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) = "" + 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 runat="server">

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

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

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

  </asp:GridView>

  </form>

  </body>

  </html>

Tags:
  • ASP.NET 2.0中的跨页面提交
    


    		    ASP.NET 2.0中的跨页面提交
    ASP.NET 2.0中的跨页面提交 简介 在ASP.NET 1.X 版本中,页面都是提交到自己本身,并不能方便的指定需要提交的目的页面.例如FirstPage.aspx中的button只能提交到FirstPage.aspx,而不能提交到SecondPage.aspx.很多时候,ASP.NET 1.X这样工作方式使我们的开发方式受到不少限制.熟悉ASP/JS ...
  • ASP.NET 2.0中的异步页面
    


    		    ASP.NET 2.0中的异步页面
    http://msdn.microsoft.com/zh-cn/site/cc163725#S2 当ASP.Net收到一个页请求,它会从线程池中抓取一个线程,然后把这个请求交给这个线程处理.一个普通的,或者说是同步的页在请求期间占据了这个线程,阻止了线程被其它请求占用.如果同步请求变成IO绑定,例如,如果他调用远程的WEB服务或者查询远程数据库,并且等待数据 ...
  • ASP.NET 2.0中实现跨页面提交
    ASP.NET 2.0中实现跨页面提交
      ASP.NET 2.0中实现跨页面提交     在ASP.NET 1.X 版本中,页面都是提交到自己本身,并不能方便的指定需要提交的目的页面.例如FirstPage.aspx中的button只能提交到 FirstPage.aspx,而不能提交到SecondPage.aspx.很多时候,ASP.NET 1.X这样工作方式使我们的开发方式受到不少限制.熟悉A ...
  • c#2.0中动态修改页面标题
    在老外的站上看到解决的好方法,故简单编译之:在一个asp.net 的应用中,经常要动态修改页面的标题,一个典型的例子就是,在一个页面导航的控件中,希望用户点选哪一个连接,在页面的title里就显示相关的内容,举个例子,比如一个网站,有如下的网站架构:有图书分类,下面再有中国图书,外国图书分类,则一般可以用树形或者asp.net 2.0的新增加的导航栏控件(s ...
  • Asp.NET 2.0中无刷新页面的开发
    .NET 2.0正式版中无刷新页面的开发 在已经发布的 ASP.NET2.0 中,无刷新页面开发相关部分同 beta2 有不少改动.而且在越来越多的 Ajax 开发包被开发出来的情况下, ASP.NET2.0 自带的无刷新页面技术没有被很多人了解,甚至不少人认为该功能有些“鸡肋”.但如果我们仅仅是在程序中加入很少部分的 Ajax 特性, Atlas . Aj ...