`

后台生成静态文件(替换法)

    博客分类:
  • .net
阅读更多

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

        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();
        }

        //根据期数id+板块id重命名(如:349期 1板块 3491),扩展名也可以自行修改
        string period = DDLPeriodNum.SelectedValue; //期数id
        string blockid=DDLBlock.SelectedValue;//板块id
        string atitle = null; //a版的标题
        string btitle = null; //b版的标题
        string papertitle=null;  //报纸标题
        string papercontent=null; //报纸内容
        OleDbDataReader dr = MMPaper.GetRead(period);
        if (dr.Read())
        {
            atitle = dr["ATopNewsTitle"].ToString();
            btitle = dr["BTopNewsTitle"].ToString();
        }
        dr.Close();
        OleDbDataReader paperdr = MMPaper.GetTableID(period, blockid);
        if (paperdr.Read())
        {
            papertitle = paperdr["Title"].ToString();
            papercontent =paperdr["Content"].ToString();
          
        }
        paperdr.Close();
     
      
        string fileName =period+blockid+ ".html";
        str = str.Replace("$atitle$", atitle);//替换a版标题
        str = str.Replace("$btitle$", btitle);//替换b版标题
        str = str.Replace("$period$", period);//替换期数
        str = str.Replace("$papertitle$", papertitle);//替换paperitle
        str = str.Replace("$papercontent$", papercontent);//替换papercontent

        //生成静态文件
        try
        {
            sw = new StreamWriter(Server.MapPath("~/html/") + fileName, false, code);
            sw.Write(str);
            sw.Flush();

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

   

分享到:
评论

相关推荐

    转静态页的几种可行方案

    " 和等号 "=")替换为静态页的路径分隔符(例如 "/"),生成静态HTML文件。然而,这种方式的缺点在于每次用户互动(如提交评论)都需要服务器重新生成文件,增加了服务器负担且降低了用户体验。 2. 利用服务器组件...

    网鱼网站广告管理系统 v1.3 广告系统 采用bootstrap界面功能内核

    源码简介与安装说明: 软件介绍 网鱼网站广告管理系统是基于asp access程序构架,采用bootstrap界面功能内核仿照百度广告系统,主要功能是方便站长对网站...1、为配合国家广告法,广告图片生成后自动增加广告二字。

    网鱼网站广告管理系统

    网鱼网站广告管理系统是基于asp+access程序构架,采用bootstrap界面功能内核仿照百度广告系统,主要功能是方便站长对网站广告的管理,别是HTML静态页面时,...1、为配合国家广告法,广告图片生成后自动增加广告二字。

    vc++ 应用源码包_5

    这个例子就是查询任何可执行文件的版本信息并且 C++builder 和 VC 都通用,只需要把 AnsiString 替换成 CString 就行了。 gh0st v3.6 源码 - 可下断点调试! GMem 内存管理单元源码。GMem.cpp和GMem.h是内存管理...

    美加新闻聚合系统3.0

    原创内容:丰富的原创新闻内容,独家技术翻译成中文,或者进行词语替换(自动伪原创),其它地方无此内容,特别适合网站内容匮乏的网站。 动态更新:内容不断的动态更新,时刻保持网站获活力。 长期有效:所有页面...

    美加新闻聚合系统(经典版)

    原创内容:丰富的原创新闻内容,独家技术翻译成中文,或者进行词语替换(自动伪原创),其它地方无此内容,特别适合网站内容匮乏的网站。 动态更新:内容不断的动态更新,时刻保持网站获活力。 长期有效:所有页面...

    美加新闻聚合系统(长尾词SEO版) v4.0.zip

    自动后台更新:全自动后台刷新信息源,不影响访问速度,提供用户感受。 任意模板定制:支持模板的任意定制,可以修改布局、风格、图片等各种信息。 特点介绍——免费软件,自动生成原创内容,针对SEO特别优化 ...

    美加新闻聚合系统源码(经典兼容版) v3.6.rar

     自动后台更新:全自动后台刷新信息源,不影响访问速度,提供用户感受。  任意模板定制:支持模板的任意定制,可以修改布局、风格、图片等各种信息。  特点介绍——免费软件,自动生成原创内容,针对SEO特别...

    Java范例开发大全 (源程序)

     实例138 用iText生成Word文件 205  实例139 利用POI读取Word文件中的内容 208  7.3 字符流 209  实例140 按顺序创建文件 210  实例141 按顺序读取文件 211  实例142 追加文件内容 211  实例143 只显示...

    java范例开发大全(pdf&源码)

    实例138 用iText生成Word文件 205 实例139 利用POI读取Word文件中的内容 208 7.3 字符流 209 实例140 按顺序创建文件 210 实例141 按顺序读取文件 211 实例142 追加文件内容 211 实例143 只显示文件中指定的字符 214...

    美加PHP新闻聚合系统 v4.0 长尾词SEO版.rar

    自动后台更新:全自动后台刷新信息源,不影响访问速度,提供用户感受。 自动SEO优化:全自动寻找SEO关键词的长尾相关词,通过自动替换、自动强化来提升搜索排名。任意模板定制:支持模板的任意定制,可以修改布局、...

    java范例开发大全源代码

     实例138 用iText生成Word文件 205  实例139 利用POI读取Word文件中的内容 208  7.3 字符流 209  实例140 按顺序创建文件 210  实例141 按顺序读取文件 211  实例142 追加文件内容 211  实例143 ...

    java范例开发大全

    实例138 用iText生成Word文件 205 实例139 利用POI读取Word文件中的内容 208 7.3 字符流 209 实例140 按顺序创建文件 210 实例141 按顺序读取文件 211 实例142 追加文件内容 211 实例143 只显示文件中指定的字符 214...

    Java范例开发大全(全书源程序)

    实例138 用iText生成Word文件 205 实例139 利用POI读取Word文件中的内容 208 7.3 字符流 209 实例140 按顺序创建文件 210 实例141 按顺序读取文件 211 实例142 追加文件内容 211 实例143 只显示文件中指定的...

    vc++ 应用源码包_1

    这个例子就是查询任何可执行文件的版本信息并且 C++builder 和 VC 都通用,只需要把 AnsiString 替换成 CString 就行了。 gh0st v3.6 源码 - 可下断点调试! GMem 内存管理单元源码。GMem.cpp和GMem.h是内存管理...

    vc++ 应用源码包_2

    这个例子就是查询任何可执行文件的版本信息并且 C++builder 和 VC 都通用,只需要把 AnsiString 替换成 CString 就行了。 gh0st v3.6 源码 - 可下断点调试! GMem 内存管理单元源码。GMem.cpp和GMem.h是内存管理...

    vc++ 应用源码包_6

    这个例子就是查询任何可执行文件的版本信息并且 C++builder 和 VC 都通用,只需要把 AnsiString 替换成 CString 就行了。 gh0st v3.6 源码 - 可下断点调试! GMem 内存管理单元源码。GMem.cpp和GMem.h是内存管理...

    vc++ 应用源码包_3

    这个例子就是查询任何可执行文件的版本信息并且 C++builder 和 VC 都通用,只需要把 AnsiString 替换成 CString 就行了。 gh0st v3.6 源码 - 可下断点调试! GMem 内存管理单元源码。GMem.cpp和GMem.h是内存管理...

Global site tag (gtag.js) - Google Analytics