• 在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页面

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

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

  • 相关阅读:
    SIP头域说明
    android.os.NetworkOnMainThreadException异常
    "Only the original thread that created a view hierarchy can touch its views"引发的思考_Handler的使用
    sip命令与音视频rtp通话完整流程分析
    在Windows下搭建Android开发环境(摘自百度经验)
    jquery dialog 打开的时候自动聚焦解决方法
    对于数组(字符串)slice方法的总结
    SWIFT语言中的泛型编程 【GENERIC】【PART 2】
    手动调用playground的XCPCaptureValue展示Swift过程数据
    Swift语言相关资源贴
  • 原文地址:https://www.cnblogs.com/lilo202/p/1758229.html
Copyright © 2020-2023  润新知