zoukankan      html  css  js  c++  java
  • Aspx根据模版动态创建html页

    Default.aspx页面:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="creathtml.Default" %>

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head id="Head1" runat="server">
    <title>Asp.net生成静态页的两个例子</title>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>
    标题:<asp:TextBox ID="txtTitle" runat="server"></asp:TextBox>
    <br />
    内容:<asp:TextBox ID="txtContent" runat="server" Height="91px" TextMode="MultiLine" Width="279px"></asp:TextBox>
    <br />
    <br />
    <asp:Button ID="Button1" runat="server" Text="根据模板生成" OnClick="Button1_Click" />
    &nbsp; <br />
    <br />
    <br />
    Url地址:<asp:TextBox ID="txtUrl" runat="server"></asp:TextBox>
    <br />
    <asp:Button ID="Button2" runat="server" Text="根据url生成" OnClick="Button2_Click" />
    <br />
    </div>
    </form>
    </body>
    </html>

    cs页

    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.Net;
    using System.Text;
    using System.IO;

    namespace creathtml
    {
    public partial class Default : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void Button1_Click(object sender, EventArgs e)
    {
    //源码是替换掉模板中的特征字符

    string mbPath = Server.MapPath("template.htm");
    Encoding code = Encoding.GetEncoding("gb2312");
    StreamReader sr = null;
    StreamWriter sw = null;
    string str = null;

    //读取
    try
    {
    sr = new StreamReader(mbPath, code);
    str = sr.ReadToEnd();

    }
    catch (Exception ex)
    {
    throw ex;
    }
    finally
    {
    sr.Close();
    }
    //根据时间自动重命名,扩展名也可以自行修改
    string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".htm";
    str = str.Replace("$title$", txtTitle.Text);//替换Title
    str = str.Replace("$content$", txtContent.Text);//替换content
    //生成静态文件
    try
    {
    sw = new StreamWriter(Server.MapPath("htm/") + fileName, false, code);
    sw.Write(str);
    sw.Flush();

    }
    catch (Exception ex)
    {
    throw ex;
    }
    finally
    {
    sw.Close();
    Response.Write("恭喜<a href=htm/" + fileName + " target=_blank>" + fileName + "</a>已经生成,保存在htm文件夹下!");
    }
    }

    protected void Button2_Click(object sender, EventArgs e)
    {
    Encoding code = Encoding.GetEncoding("utf-8");
    StreamReader sr = null;
    StreamWriter sw = null;
    string str = null;

    //读取远程路径
    WebRequest temp = WebRequest.Create(txtUrl.Text.Trim());
    WebResponse myTemp = temp.GetResponse();
    sr = new StreamReader(myTemp.GetResponseStream(), code);
    //读取
    try
    {
    sr = new StreamReader(myTemp.GetResponseStream(), code);
    str = sr.ReadToEnd();

    }
    catch (Exception ex)
    {
    throw ex;
    }
    finally
    {
    sr.Close();
    }
    string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".htm";

    //写入
    try
    {
    sw = new StreamWriter(Server.MapPath("htm/") + fileName, false, code);
    sw.Write(str);
    sw.Flush();

    }
    catch (Exception ex)
    {
    throw ex;
    }
    finally
    {
    sw.Close();
    Response.Write("恭喜<a href=htm/" + fileName + " target=_blank>" + fileName + "</a>已经生成,保存在htm文件夹下!");
    }


    }
    }
    }

    designer.cs

    //------------------------------------------------------------------------------
    // <自动生成>
    // 此代码由工具生成。
    //
    // 对此文件的更改可能会导致不正确的行为,并且如果
    // 重新生成代码,这些更改将会丢失。
    // </自动生成>
    //------------------------------------------------------------------------------

    namespace creathtml {


    public partial class Default {

    /// <summary>
    /// Head1 控件。
    /// </summary>
    /// <remarks>
    /// 自动生成的字段。
    /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
    /// </remarks>
    protected global::System.Web.UI.HtmlControls.HtmlHead Head1;

    /// <summary>
    /// form1 控件。
    /// </summary>
    /// <remarks>
    /// 自动生成的字段。
    /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
    /// </remarks>
    protected global::System.Web.UI.HtmlControls.HtmlForm form1;

    /// <summary>
    /// txtTitle 控件。
    /// </summary>
    /// <remarks>
    /// 自动生成的字段。
    /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
    /// </remarks>
    protected global::System.Web.UI.WebControls.TextBox txtTitle;

    /// <summary>
    /// txtContent 控件。
    /// </summary>
    /// <remarks>
    /// 自动生成的字段。
    /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
    /// </remarks>
    protected global::System.Web.UI.WebControls.TextBox txtContent;

    /// <summary>
    /// Button1 控件。
    /// </summary>
    /// <remarks>
    /// 自动生成的字段。
    /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
    /// </remarks>
    protected global::System.Web.UI.WebControls.Button Button1;

    /// <summary>
    /// txtUrl 控件。
    /// </summary>
    /// <remarks>
    /// 自动生成的字段。
    /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
    /// </remarks>
    protected global::System.Web.UI.WebControls.TextBox txtUrl;

    /// <summary>
    /// Button2 控件。
    /// </summary>
    /// <remarks>
    /// 自动生成的字段。
    /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
    /// </remarks>
    protected global::System.Web.UI.WebControls.Button Button2;
    }
    }

  • 相关阅读:
    设计手稿: 搜索引擎
    软件版本介绍
    VS2012中使用编译的Qt-5.1.1静态库开发程序
    POJ2236(并查集)
    Java关键字this的用法总结
    paip.提升用户体验-----c++ gcc 命令在notepad++扩展中的配置..
    MySQL基本查询语句练习
    [置顶] 提升代码内外部质量的22条经验
    mysql 数据库复制表 create table city1 like city;
    两个脚本
  • 原文地址:https://www.cnblogs.com/sayhallotoyou/p/4250003.html
Copyright © 2011-2022 走看看