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







    在他人的基础上更改的!

    代码如下: 

    详细内容看代码

     

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

    }





  • 相关阅读:
    分割线
    PTA 乙级 1053 住房空置率 (20分) C/C++
    5.12 记录
    单词统计
    eclipse导入项目jdk版本不一样
    5.6日 项目回顾
    5.5 记录
    5.3 记录
    5.2 记录
    5.1 记录
  • 原文地址:https://www.cnblogs.com/kokoliu/p/554527.html
Copyright © 2020-2023  润新知