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

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

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

  • 相关阅读:
    成本直降50% | 阿里云发布云原生网关,开启下一代网关新进程
    阿里云容器服务全面升级为 ACK Anywhere,让云的边界拓展至企业需要的每个场景
    云拨测助力节卡机器人 全面优化海外网站性能
    如何加速云原生数据应用?这个开源项目备受关注
    课程升级 | 极速构建知识体系,即学即用 Serverless
    ECS 选款利器!PTS助您快速上云!
    Morphling:云原生部署 AI , 如何把降本做到极致?
    报名领奖|云栖大会,10月19-22日杭州不见不散!
    Dubbo3.0|阿里巴巴服务框架三位一体的选择与实践
    告别Kafka Stream,让轻量级流处理更加简单
  • 原文地址:https://www.cnblogs.com/lilo202/p/1758229.html
Copyright © 2011-2022 走看看