华域联盟 .Net ASP.NET动态生成静态页面的实例代码

ASP.NET动态生成静态页面的实例代码

最近突然想把项目中新闻管理模块做成静态页,在网上找到很多很好的文章,在这里记录一下,现在只是实现静态页面的生成并没有实现分页功能。其主要原理就是读取数据库的数据然后替换掉静态模板页的内容。

首先制作一个模板页,暂时命名为template.htm,示例代码如下:

<!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>

</head>

<body>

    <div>

        $content$

    </div>

</body>

</html>

然后制作制作一个动态页面,在这里我们通过一个按钮点击事件来生成静态页面。

前台页面主要代码(Default.aspx):

复制代码 代码如下:

<%@ 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></title> 

</head> 

<body> 

    <form id="form1" runat="server"> 

    <div> 

        <asp:TextBox ID="txtContent" runat="server" Height="179px" TextMode="MultiLine" Width="350px"></asp:TextBox><br /> 

        <br /> 

        <asp:Button ID="btnMake" runat="server" OnClick="btnMake_Click" Text="生成静态页" /> 

    </div> 

    </form> 

</body> 

</html> 

后台页面主要代码(Default.aspx.cs):

复制代码 代码如下:

protected void btnMake_Click(object sender, EventArgs e) 

    { 

        //替换掉模板中的特征字符    

        string mbPath = Server.MapPath("template.htm"); 

        Encoding code = Encoding.GetEncoding("UTF-8"); 

        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("yyyyMMddHHmm") + ".htm"; 

        str = str.Replace("$content$", txtContent.Text);//替换content   

        //生成静态文件    

        try 

        { 

            sw = new StreamWriter(Server.MapPath("~/") + fileName, false, code); 

            sw.Write(str); 

            sw.Flush(); 

        } 

        catch (Exception ex) 

        { 

            throw ex; 

        } 

        finally 

        { 

            sw.Close(); 

            Response.Write("<a href="%20+%20fileName%20+%20" mce_href="%20+%20fileName%20+%20" target=_blank>"%20+%20fileName%20+%20"</a>已经生成!"); 

        } 

    } 

当新闻量很大时这样做势必会增加服务器的存储压力,暂时记录下来等毕业设计时再考虑增加动态生成静态页面,静态页面分页的功能。

您可能感兴趣的文章:

  • ASP.NET MVC3关于生成纯静态后如何不再走路由直接访问静态页面
  • 使用ASP.NET模板生成HTML静态页面的五种方案
  • ASP.NET 生成静态页面 实现思路
  • Asp.NET 生成静态页面并分页的代码
  • Asp.Net生成静态页面的实现方法
  • ASP.NET MVC生成静态页面的方法
  • asp.net生成Excel并导出下载五种实现方法
  • asp.net(C#) 生成随机验证码的代码
  • ASP.net(c#)生成条形码 code39条码生成方法
  • asp.net C#生成和解析二维码的实例代码
  • Asp.net生成Excel文件并下载(更新:解决使用迅雷下载页面而不是文件的问题)
  • ASP.NET编程简单实现生成静态页面的方法【附demo源码下载】

本文由 华域联盟 原创撰写:华域联盟 » ASP.NET动态生成静态页面的实例代码

转载请保留出处和原文链接:https://www.cnhackhy.com/51316.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部