文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>生成静态页面

生成静态页面

时间:2010-10-10  来源:张静静

生成静态页面适用于服务器空间比较大的网站。不适用于服务器访问空间小,访问量小的网站,总之要根据实际情况去判断是否需要。或者根据用户的需求。
我们在此举的例子是一个简单的新闻的添加。
首先需要在实体类中去封装字段,这个就不在这里说明了,下面的是在数据访问层的方法的实现:
//获取helper的数据库类型。
  IHelper helper = ManageFactory.Factory.GetHelper;
 //添加新闻方法
       public int Insert(IProvider provider,Data.News dn )
       {
           string sql = "insert into news(newstitle,newscontent,newsdate,newsfilepath) values(@newstitle,@newscontent,@newsdate,@newsfilepath)";
           List<IDbDataParameter> listp = new List<IDbDataParameter>();
           listp.Add(helper.CreateParameter("@newstitle",dn.Newstitle));
           listp.Add(helper.CreateParameter("@newscontent", dn.Newscontent));
           listp.Add(helper.CreateParameter("@newsdate", dn.Newsdate));
           listp.Add(helper.CreateParameter("@newsfilepath", dn.Newsfilepath));
           return helper.ExecuteNonQuery(provider,sql,listp);
       }
 //获得自动生成的id.
       public string SelectId(IProvider provider)
       {
           string sql = "select @@identity news";
           return helper.ExecuteScalar(provider,sql,null).ToString();
       }
 //获取前前几条记录方法
       public DataTable Select(IProvider provider, int count)
       {
           string sql = "select top "+count+" * from news";
           DataTable dt = new DataTable();
           dt = helper.ExecuteDataTable(provider,sql,null);
           return dt;
       }
接下来就是在业务层对于数据访问层方法的具体调用了:
//添加新闻方法
public static int AddNews(string title,string content,string date)
       {
           //把文件名定义为时间加上.html格式
           string filename = DateTime.Now.ToString("yyMMddmmss")+".html";
               Data.News news = new Base.Data.News();
               news.Newstitle = title;
               news.Newscontent = content;
               news.Newsdate = date;
               news.Newsfilepath = filename;
               int i = 0;
               string id = "";
               using (IProvider provider = ManageFactory.Factory.GetProvider)
               {
                  DAL.OpNews opn = new Base.DAL.OpNews();
                  i= opn.Insert(provider, news);
                   //获取新闻id值
                  id = opn.SelectId(provider);
               }
           //根据id生成静态页面
            // CreateFile(title, content, date, id);
           //根据时间生成静态页面
             CreateFile(title, content, date, filename);
               return i;
         
       }
       public static void CreateFile(string title,string content,string date,string filename)
       {
           //得到静态页面的物理路径Aritcle.html页面为都通用的页面只需要改变里面的少数内容相当于母版页
           string path = HttpContext.Current.Server.MapPath("Template/Aritcle.html");
           //根据刚才得到的文件路径读取文件的内容,保存为字符串格式
           string openfile = File.ReadAllText(path,Encoding.UTF8);
           //用我们得到的内容区替换文件中的{Title}内容
           string str = openfile.Replace("{Title}",title);
           str = str.Replace("{Content}",content);
           str = str.Replace("{Date}",date);
           //根据id生成静态页面
           //string createpath = HttpContext.Current.Server.MapPath("Article")+"
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载