zoukankan      html  css  js  c++  java
  • 在ASP.NET 2.0中直接得到本页面生成的HTML代码 (转)

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

    Html

    代码
    <%@ 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">

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

    </div>
    </form>
    </body>
    </html>

    后面部分代码

    代码
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Collections;


    public partial class _Default : System.Web.UI.Page
    {
    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 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());
    Response.Redirect("a.htm");


    }


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

    }
    }

    这样可以动态生成a.htm页面

    试了一下,不错生成……可以试试,

    但感觉这种方法不是很好,不是想要的那种

  • 相关阅读:
    几种回文算法的比较
    算法与数据结构(五)树表的查找
    算法与数据结构(四)利用哈夫曼树编码解码
    算法与数据结构(三)线性表的查找算法
    主存和cache的地址映射
    算法与数据结构(二)三元组矩阵行列式的计算(用递归)
    算法与数据结构(一)将一个数组中的各节点按照层次遍历插入构成完全二叉树
    服务器被攻击,我真是个人才。
    想学嘛,不想学? 自学是门手艺
    想学嘛,技术人, 请不要封闭自己
  • 原文地址:https://www.cnblogs.com/lilo202/p/1758229.html
Copyright © 2011-2022 走看看