现在的位置: 首页 > 综合 > 正文

ASP.NET 生成静态html页之扩展(按年月目录)

2013年11月18日 ⁄ 综合 ⁄ 共 3133字 ⁄ 字号 评论关闭

在他人的基础上更改的!

代码如下: 

详细内容看代码

 

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

/// <summary>
/// CreateHtml 的摘要说明
/// </summary>
public class CreateHtml
{
 public CreateHtml()
 {
  //
  // TODO: 在此处添加构造函数逻辑
  //
 }
   
   
    public static bool WriteFile(string title, string nfrom, string publishtime, string publisher, string contont)
    {
        // //以下定义    
        //获取当前Web目录
        //模版文件
        //格式化文件名
        //用于生成年份目录
        //用于生成月份目录
        //从temple.html读取得字符

        string path = HttpContext.Current.Server.MapPath(".") + "/news/";
        string temp = path + "temple.html";
        string filename = DateTime.Now.ToString("yyyyMMddHHmmss") + ".html";
        string YYYYpath = path + DateTime.Now.Year.ToString();
        string MMpath=YYYYpath +"/"+DateTime.Now.Month.ToString();
        string str = "";

        StreamReader sr = null;
        StreamWriter sw = null;
        Encoding code = Encoding.GetEncoding("gb2312");
        try
        {
            //read file
            sr = new StreamReader(temp, code);
            str = sr.ReadToEnd();

        }
        catch (Exception ex)
        {
            HttpContext.Current.Response.Write("读取错误" + ex.Message);
            HttpContext.Current.Response.End();
        }
        finally
        {
            sr.Close();
        }

        //replace
        str=str.Replace("{$title}", title);
        str = str.Replace("{$nfrom}", nfrom);
        str = str.Replace("{$publishtime}", publishtime);
        str=str.Replace("{$publisher}", publisher);
        str=str.Replace("{$contont}", contont);

        //write
        try
        {
            //if Directory not Exists else Create Directory;
            if (!Directory.Exists(YYYYpath))
            {
                Directory.CreateDirectory(YYYYpath);

                if (!Directory.Exists(MMpath))
                {
                    Directory.CreateDirectory(MMpath);
                }
            }
            sw = new StreamWriter(MMpath +"/"+ filename, false, code);
            sw.Write(str);
            sw.Flush();
        }
        catch (Exception ex)
        {
            HttpContext.Current.Response.Write("写入失败" + ex.Message);
            HttpContext.Current.Response.End();
        }
        finally
        {
            sw.Close();
        }
        //update myurl
        StringBuilder url = new StringBuilder();
        url.Append("news/");
        url.Append(DateTime.Now.Year.ToString());
        url.Append("/");
        url.Append(DateTime.Now.Month.ToString());
        url.Append("/");
        url.Append(filename);
        SqlConnection conn = null;
        try
        {
            conn=Db.createConnection();//从Db的静态方法得到SqlConnection
            conn.Open();
            SqlCommand cmd = new SqlCommand("update news set myurl='" + url + "'",conn);
            if (1 == cmd.ExecuteNonQuery())
            {
                HttpContext.Current.Response.Write("成功插入url<br/>");
            }
        }
        catch (Exception ex)
        {
            HttpContext.Current.Response.Write("更新url错误" + ex.Message);
            HttpContext.Current.Response.End();
        }
        finally
        {
            conn.Close();
        }
        return true;
    }
}

 

【上篇】
【下篇】

抱歉!评论已关闭.