注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

猪儿不懒

UI设计 前端开发 HTML5+CSS3

 
 
 

日志

 
 

使用类生成HTML静态页  

2009-03-24 11:33:25|  分类: ASP.NET |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

生成HTML静态页类 createHtml.cs

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.IO;
using System.Net;

/// <summary>
///html 的摘要说明
/// </summary>
public class createHtml
{
    public createHtml()
 {
  //
  //TODO: 在此处添加构造函数逻辑
  //
 }
    /// <summary>
    /// 生成静态HTML页面
    /// </summary>
    /// <param name="_opath">模板页物理路径</param>
    /// <param name="_npath">要保存的物理路径</param>
    /// <param name="str1">要被替换的代码</param>
    /// <param name="str2">要替换进去的代码</param>
    /// <param name="_bl">文件存在的时候是否要覆盖</param>
    /// <returns></returns>
    public bool createHtmls(string _oPath, string _nPath, string[] _str1, string[] _str2, bool _bl)
    {
        try
        {
            string oPath = _oPath;//模板页路径
            string nPath = _nPath;//要保存的路径
            string[] str1 = _str1;//要被替换的代码
            string[] str2 = _str2;//要替换进去的代码
            bool bl = _bl;//文件存在的时候是否要覆盖
            string strCode1;//模板页的代码
            string strCode2;//被替换之后的代码
            //得到模板页代码
            StreamReader sr = new StreamReader(oPath, System.Text.Encoding.GetEncoding("utf-8"), true);
            strCode1 = sr.ReadToEnd();
            sr.Close();
            sr.Dispose();
            //end得到模板页代码
            if (str1.Length != str2.Length)
            {
                //throw new Exception("被替换和要替换的代码个数不一致!");
                return false;
            }
            strCode2 = strCode1;
            for (int i = 0; i < str1.Length; i++)
            {
                if (strCode1.Contains(str1[i].ToString()))
                {
                    strCode2 = strCode2.Replace(str1[i].ToString(), str2[i].ToString());
                }
            }
            //保存文件
            if (System.IO.File.Exists(nPath))
            {
                if (bl)
                {
                    StreamWriter sw = new StreamWriter(nPath, false, System.Text.Encoding.GetEncoding("utf-8"));
                    sw.Write(strCode2);
                    sw.Close();
                    sw.Dispose();
                    return true;
                }
                else
                {
                    return false;
                }
            }
            else
            {
                StreamWriter sw = new StreamWriter(nPath, false, System.Text.Encoding.GetEncoding("utf-8"));
                sw.Write(strCode2);
                sw.Close();
                sw.Dispose();
                return true;
            }
        }
        catch
        {
            throw new Exception("生成静态页面错误");
        }
        //end保存文件
    }
}

 

  ASPX.CS文件  点击按钮的时候生成

protected void btnOk_Click(object sender, EventArgs e)
    {
        createHtml htmlcreat = new createHtml();
        string oPath = Server.MapPath("../templates/temp.html");
        string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".html";
        string nPath = Server.MapPath("../html/") + fileName;
        string[] str1 = new string[]{ "$box01$", "$box02$" };
        string[] str2 = new string[]{this.txtBox1.Text,this.txtBox2.Text};
        bool isat = htmlcreat.createHtmls(oPath, nPath,str1 ,str2, true);
    }

  评论这张
 
阅读(145)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017