zoukankan      html  css  js  c++  java
  • asp.net 生成静态页面的简单例子

    Asp.net生成静态文件示例源码(两种途径)

    Asp.net生成静态文件(根据时间自动命名保持,默认扩展名是htm可以自行修改)。

    通过收入内容替换模板或者url地址两种方式进行静态文件的生成

    templete.htm为模板文件,htm为生成后的静态文件保持位置

    1 templete.htm代码如下:

    View Code
    <!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>
        <title> $title$ 生成静态页的Demo|-www.chinasem.cn</title>
        <style type="text/css">
    <!--
    .STYLE1 {
        font-size: 16px;
        font-weight: bold;
    }
    -->
        </style>
    </head>
    <body>
    <br />
    <br />
    <table width="100%" border="0" bgcolor="#339900">
      <tr>
        <td height="34" align="center" bgcolor="#FFFFFF"><span class="STYLE1">$title$ </span></td>
      </tr>
      <tr>
        <td height="42" bgcolor="#FFFFFF"><br />
          <br />
        内容:$content$ </td>
      </tr>
    </table>
    <a href="http://www.chinasem.cn" target="_blank">www.chinasem.cn 版权所有</a>
    </body>
    </html>

    2 执行页面: Default.aspx页面代码:

    View Code
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" ValidateRequest="false" Inherits="ToHtml._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生成静态页的两个Demo|-www.chinasem.cn</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            标题:<asp:TextBox ID="txtTitle" runat="server" Width="352px"></asp:TextBox><br />
            内容:<asp:TextBox ID="txtContent" runat="server" Height="179px" TextMode="MultiLine"
                Width="350px"></asp:TextBox><br />
            <br />
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="根据模板生成" /><br />
            <br />
            <br />
            Url地址:<asp:TextBox ID="txtUrl" runat="server" ToolTip="请确认Url地址的存在" Width="359px"></asp:TextBox>
            <br />
            <br />
            <asp:Button ID="Button2" runat="server" Text="根据Url地址生成" OnClick="Button2_Click" /></div>
        </form>
    </body>
    </html>

    3 执行页面的后台代码: Default.aspx.cs

    View Code
    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 ToHtml
    {
        //chinasem.cn生成静态页演示文件,转载请保留该信息
        public partial class _Default : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
               
            }
    
            //根据模板生成,保持在html文件夹中(部分源码搜集于网络)
            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文件夹下!");
                }
    
    
            }
    
    
            //根据Url地址生成静态页保持
            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文件夹下!");
                }
    
            }
        }
    }

    代码下载!!!

  • 相关阅读:
    一个小判卷系统
    关于int main(int argc,char* argv[])详解
    2014微软编程之美复赛的解题报告
    解题报告CF266B 384A 339A
    由于第一天在博客园开博客,我随便写个解题报告吧,以前很少写
    阿里巴巴大数据竞赛
    新注册的博客,欢迎大家多多指教
    vue中forceupdate的使用
    钉钉小程序之参数有中文。encodeUri以及encodeURIComponent详解
    关于offsetX、offsetY、clientX、clientY、pageX、pageY、screenX、screenY的区别
  • 原文地址:https://www.cnblogs.com/puzi0315/p/2599720.html
Copyright © 2011-2022 走看看