三、评论的更新。评论的更新过程比较复杂,因为添加评论是一个交互的过程,静态页面自身根本不可能完成这一操作。解决方法是把添加评论的工作交给另一个页面(如:remark.aspx)来完成。具体过程为:在静态页面上用form给remark.aspx传递评论的内容,remark.aspx接收评论内容,添加评论,更新文章的静态页面,最后再重定向到静态页面。这样就完成了评论的添加。

      form处的代码:

      

             评论内容:

      remark.aspx中相关操作的代码:

protected override void OnLoad(EventArgs e)

{

base.OnLoad (e);

int nArticleID = int.MinValue;//文章id

int nClassID = int.MinValue;//分类id

try

{

//获取传入参数

nArticleID = int.Parse(this.Request.QueryString["articleid"]);

nClassID = int.Parse(this.Request.QueryString["classid"]);

}

catch

{

}

//检查有效性

if(nArticleID < 1 || nClassID < 1)

{

this.Response.Redirect("/error.html",true);

}

string sRemarkBody = this.Request.Params["remarkbody"];

//格式:/show.aspx?id=456&cid=123

string sFrom = string.Concat("/show.aspx?id=",nArticleID,"&cid=nClassID);

//格式:/news/123/456.html

string sTo = string.Concat("/news/",nClassID,"/",nArticleID,".html");

if(sRemarkBody != null && sRemarkBody.Length > 0)

{

//添加评论

InsertRemark(nArticleID);

//生成静态页面

MakeStatic(sFrom,this.MapPath(sTo));

}

//转向静态页面

this.Response.Redirect(sTo,true);

}

      这样处理的静态页面在普通浏览时与其它的静态页面完全一样,只是在发评论时对待更新评论的程序,整体的招待速度还是很快的。

第二种情况,新闻分类列表页面。此类页面在管理新闻的时候变化会非常大,即使采用后台管理也非常的不便。这就需要一些程序来帮助管理员管理这些页面。程序思路在前面已经提过,在此给出能够实际应用的程序代码。

protected override void OnLoad(EventArgs e)

{

base.OnLoad (e);

int nClassId = int.MinValue;//分类id

int nPage = int.MinValue;//页码

try

{

//获取传入参数

nClassID = int.Parse(this.Request.QueryString("classid"));

nPage = int.Parse(this.Request.QueryString("page");

}

catch

{

}

//检查有效性

if(nClassID < 1)

{

this.Response.Redirect("/error.html",true);

}

else if(nPage < 1)

{

nPage = 1;

}

//格式:/list.aspx?cid=123&page=456

string sFrom = string.Concat("/list.aspx?cid=",nClassID,"&page=",nPage);

//格式:/news/123/default456.html

string sTo = string.Concat("/news/",nClassID,"/default",((nPage==1) ? ("") : (nPage)),".html");

string sPath = this.MapPath(sTo);

if(!File.Exists(sPath))

{

//文件不存在时,创建静态页面

MakeStatic(sFrom,sTo);

}

else

{

TimeSpan ts = DateTime.Now - File.GetLastWriteTime(sPath);

if(ts.TotalDays > 1)

{

//文件已存在,但是存在时间过长,需更新

MakeStatic(sFrom,sTo);

}

}

//转向静态页面

this.Response.Redirect(sTo,true);

}

转载于:https://www.cnblogs.com/yzwdli/archive/2007/10/30/943648.html

静态页面评论处理以及列表处理相关推荐

  1. 【4003】通过html+css做一个图片列表的静态页面。

    [4003]通过html+css做一个图片列表的静态页面. 学习目标: [ 1]学习前端第三天掌握 html与css(基础选择器,有.无序列表相关)入门知识,梳理今天的学习知识点: [ 2]通过已学知 ...

  2. 网站生成静态页面,及网站数据采集的攻、防原理和策略

    关于本文:         本着互联网共享主义精神,特写此文献给建站新手,授人以鱼,不如授人以渔,本文所讲的只是方法和原理,希望大家看完此文,能够从中得到些帮助和启发. 本文从一个ASP程序员的角度用 ...

  3. 【学习笔记】大三集中实训做的一个微信小程序之点餐系统(静态页面不包含java后台逻辑)

    点餐系统 注:大三集中实训的时候由于没有什么经验,只实现了静态页面,但微信小程序开发文档里面所有的功能差不多都实现(视频的上传与下载以及登录等等)所以在这里记录自己的学习笔记 目录 **点餐系统** ...

  4. Day210.服务端渲染技术NUXT、整合前台主页面、名师、课程静态页面、首页整合banner数据后端部分【创建banner微服务、接口、banner后台前端实现】 -谷粒学院

    谷粒学院 服务端渲染技术NUXT 一.服务端渲染技术NUXT 1.什么是服务端渲染 服务端渲染又称SSR (Server Side Render)是在服务端完成页面的内容,而不是在客户端通过AJAX获 ...

  5. 动态网站如何生成静态页面

    本文从一个ASP程序员的角度用大量实例祥细介绍了动态网站如何生成静态页面原理,又从一个采集程序开发者的角度去祥细介绍了网站数据采集的原理及功防策略. 关于网站生成静态页面,为了让本文读者容易理解,文内 ...

  6. (day20)web前端实现静态页面

    检验自己一个月的学习成果,实现的是静态页面(小白学习一个月的成果) 欢迎各位大神参考和指点 PC端 目标效果:  代码实现: HTML部分: <!DOCTYPE html> <htm ...

  7. 静态页面Freemarker

    静态页面Freemarker 什么是Freemarker? 他有什么用? 我们如何去使用它 什么是Freemarker? FreeMarker 是一个用 Java 语言编写的模板引擎,它基于模板来生成 ...

  8. PHP代码为什么不能直接保存HTML文件——PHP生成静态页面教程

    1.服务器会根据文件的后缀名去进行解析,如果是HTML文件则服务器不会进行语法解析,而是直接输出到浏览器. 2.如果一个页面中全部都是HTML代码而没有需要解析的PHP语法,则没有必要保存为PHP文件 ...

  9. C# 网站静态页面生成器 for 多线程版

    摘要:该生成器是用于放置于服务器上的一个小程序,用于生成站点中需要静态化的页面生成.我写c/s程序不多,所以本程序可能会有些小的bug.还望高手多多指教! 内容: 首先让大家看看该程序的几个流程界面 ...

  10. Spring MVC入门示例教程--静态页面跳转

    以下示例显示如何使用Spring MVC Framework编写一个简单的基于Web的应用程序,它可以使用<mvc:resources>标记访问静态页面和动态页面.首先使用Eclipse ...

最新文章

  1. 《机器学习思维导图》,一图掌握机器学习知识要点
  2. Java实现算法导论中有限自动机字符串匹配算法
  3. git基于tag创建分支
  4. Python3——函数
  5. L1-035 情人节(两种方法)
  6. 递归处理二叉树总结(附leetcode题)
  7. word 与 endnote 反应慢的小技巧
  8. Linux下修复U盘坏块,快速修复U盘坏块的方法
  9. spring整合redis菜鸟版
  10. Linux开机自动挂载Windows分区的两种方法
  11. 用Python算出你的名字,比老僧算的更快!
  12. 小学数学研究性学习设计方案
  13. 安全防护与信息加密:一个新的挑战
  14. Autojs在线云更新教程
  15. 关于flux里面的->的解释
  16. MFC 右键菜单呼出
  17. 推荐几款好用的HTML编译器给大家!
  18. win8通过u盘装linux系统,如何通过U盘装机大师进行U盘安装win8.1系统
  19. R语言建模收入不平等:分布函数拟合及洛伦兹曲线(Lorenz curve)
  20. 远程红外热成像app

热门文章

  1. Python学习笔记(六)——查询天气脚本
  2. Linux JAVA JDK JRE 环境变量安装与配置
  3. 2D Tookit (一) 精灵切割
  4. hadoop的几个常用命令
  5. 诺基亚100G光传输网络助力Jio泛印度4G网络大幅增长
  6. Introduction to Conditional Random Fields
  7. 802.11ax速览
  8. mybatis-generator生成的mapper中的
  9. Python基础(十): 函数的基本概念
  10. 在Docker和Kubernetes上运行MongoDB微服务