asp.net 生成静态

asp.net 源码:
=+++++++++++++++++++++++++++++++++++++

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Text;
/*
 * 生成静态
 * */

namespace WebApplication5
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            //思路是替换掉模板中的特征字符 
            string mbPath = Server.MapPath("tem/index.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();
            }
            //根据时间自动重命名,扩展名也可以自行修改 
            string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".htm";
            str = str.Replace("{$title$}", this.TextBox1.Text);//替换Title 
            str = str.Replace("{$content$}", this.TextBox2.Text);//替换content 
            string newfilename = DateTime.Now.ToString("yyyyMM");
            //生成静态文件 
            try
            {
              
                CreateFile(newfilename);
                sw = new StreamWriter(Server.MapPath("htm/"+newfilename+"/") + fileName, false, code);
                sw.Write(str);
                sw.Flush();

            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                sw.Close();
                Response.Write("恭喜" + fileName + "已经生成,保存在htm文件夹下!");
            }

        }
        public void CreateFile(string FilePathName)
        {
            string[] strPath= FilePathName.Split('/');
            CreateFolder(FilePathName.Replace("/" + strPath[strPath.Length-1].ToString(),"")); //创建文件
          
        }
        public void CreateFolder(string FolderPathName)
        {
            if (FolderPathName.Trim().Length > 0)
            {
                try
                {
                    string CreatePath = System.Web.HttpContext.Current.Server.MapPath

                    ("htm/" + FolderPathName).ToString();
                    if (!Directory.Exists(CreatePath))
                    {
                        Directory.CreateDirectory(CreatePath);
                    }
                }
                catch
                {
                    throw;
                }
            }
        }
    }
}
 

+++++++++++++++++++++++++++++++++++++++++++++++++++

 

index.htm

++++++++++++++++++++++++++++++++++++++++++++++++++++++=
这样 替换 {$title$}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

你可能感兴趣的:(asp.net 生成静态)