生成静态文件HTML

时间:2015/12/2 14:54:00来源:互联网 作者:flyso 点击: 977 次

  //dir               html文件所在目录
        //kindlink          主页面链接
        //kindname          主页面名称
        //subkindname       子页面名称      
        //title             文章标题
        //datetime          文章发布时间    格式:2008-04-20 19:24:35
           //filedatetime      文章发布时间    格式:20080420192435
           //content           文章内容
        public static bool WriteHtmlFile(string dir, string kindlink, string kindname, string subkindname
                                         , string title, string datetime, string filedatetime, string content, string alttitle)
        {
            try
            {
                string path = HttpContext.Current.Server.MapPath(string.Format("~/{0}/", dir));
                Encoding code = Encoding.GetEncoding("gb2312");

                string templet = HttpContext.Current.Server.MapPath(string.Format("~/{0}/templet.htm", dir));
                StreamReader sr = null;
                StreamWriter sw = null;
                sr = new StreamReader(templet, code);
                // 读取模板文件
                string strTemp = sr.ReadToEnd();
                string htmlfilename = dir + filedatetime + ".htm";

                // 加入链接
                DatabaseUtil data = new DatabaseUtil();
                SqlDataReader dataReader = null;
                data.RunSqlstr("select * from innerlink", out dataReader);
                while (dataReader.Read())
                {
                    content = content.Replace(dataReader["keyword"].ToString().Trim(),
                        string.Format("<a href='{0}'>{1}</a>", dataReader["url"].ToString().Trim(), dataReader["keyword"].ToString().Trim()));
                }
                dataReader.Close();

                //替换内容
                strTemp = strTemp.Replace("#mecinkindlink", kindlink);
                strTemp = strTemp.Replace("#mecinkindname", kindname.Trim());
                strTemp = strTemp.Replace("#mecinsubkindname", subkindname.Trim() + "正文");
                strTemp = strTemp.Replace("#mecintitle", title);
                strTemp = strTemp.Replace("#mecinalttitle", alttitle);
                strTemp = strTemp.Replace("#mecindatetime", datetime);
                strTemp = strTemp.Replace("#mecincontent", content);

                //写文件
                sw = new StreamWriter(path + htmlfilename, false, code);
                sw.Write(strTemp);
                sw.Flush();
                sw.Close();
                sr.Close();
                return true;
            }
            catch (Exception ex)
            {
                log.Error(ex.StackTrace.ToString());
                log.Error(ex.Message.ToString());
                return false;
            }

        }

Copyright © 2005 - 2016 flyso.cn. 飞搜 版权所有 鄂ICP备11002783号-3