• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ASP.NET动态生成静态页面的实例代码
    POST TIME:2021-10-18 02:50
    最近突然想把项目中新闻管理模块做成静态页,在网上找到很多很好的文章,在这里记录一下,现在只是实现静态页面的生成并没有实现分页功能。其主要原理就是读取数据库的数据然后替换掉静态模板页的内容。
    首先制作一个模板页,暂时命名为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=" + fileName + " mce_href=" + fileName + " target=_blank>" + fileName + "/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 gridview列宽固定的几种方法介绍
    下一篇:利用.net控件实现下拉导航菜单制作的具体方法
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信