asp.net 生成静态页面的简单例子

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

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

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

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

 

1 templete.htm代码如下:

asp.net 生成静态页面的简单例子 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页面代码:

asp.net 生成静态页面的简单例子 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

asp.net 生成静态页面的简单例子 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文件夹下!");

            }



        }

    }

}

 

代码下载!!!

你可能感兴趣的:(asp.net)