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

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

        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文件夹下!");
        }

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值