静态页系列(一) 访问计数、首页静态页

        首先声明一下,这个静态页的生成是用了Eric兄的辛苦劳动成果:EFPLatform.CodeGenerator。在这里,先忠心感谢Eric兄,辛苦了!!

        静态页的生成,多种因素,有着诸多不同的实现方式。孰优孰劣,适合自己的最好,这里不必妄言。静态页生成后,又伴之而来其他的问题,如:静态页的生成,生成后增加访问计数,异步添加评论等等。关于如何生成静态页,有了Eric兄,我在这也就没有必要赘述了。

        下面谈谈生成静态页之后出来的问题:
        限于篇幅,这次先来两个小模块:1.增加访问计数  2.生成首页

        1、生成好的静态页增加访问计数:
我的做法是建立一个增加引用计数的动态页,这个页接受参数,然后根据参数增加访问计数。在静态页里用<script src="/Module_News/Increase.aspx?id=ID编号" type="text/javascript"></script>
调用这个页增加访问计数
cs代码:

 1 if  ( ! this .IsPostBack)
 2          {
 3            if (Request.QueryString["id"!= null)
 4            {
 5                Module_News mnMain = new Module_News();
 6                mnMain.Module_News_FluxIncrease(Request.QueryString["id"].ToString());
 7                //Response.Redirect(string.Format(@"/Html/News/3/{0}.html", Request.QueryString["code"].ToString()));
 8            }

 9            else
10            {
11                Response.Write("您请求的数据不存在");
12            }

13        }

注意:页面元素为空;另外还可以换成ashx文件。

        2、首页生成静态页
        关于首页,我之前是用的缓存。但限于自身的技术水平,缓存带来的效果并不理想。且不知为什么首页的个别链接还会出错。所以,决定用静态页替代缓存。这里的首页静态页我没有用模板生成,毕竟首页的东西太多,这样做太繁杂。
这里取了个巧,重写Render:
代码:

 1 protected   override   void  Render(HtmlTextWriter writer)
 2      {
 3        System.IO.StringWriter html = new System.IO.StringWriter();
 4        System.Web.UI.HtmlTextWriter tw = new HtmlTextWriter(html);
 5        base.Render(tw);
 6        System.IO.StreamWriter sw = new System.IO.StreamWriter(Server.MapPath("index.html"), false, System.Text.Encoding.Default);
 7        sw.Write(html.ToString());
 8        sw.Close();
 9        tw.Close();
10        //Response.Write("页面生成成功!");
11    }

        好了,页面生成了,问题又来了,怎么更新?是隔一段时间生成一次,还是有更新就重新生成...
我的做法是让用户自己更新。在页里加上下面这个

<script language="javascript" type="text/javascript">
//请求Default.aspx,调用Render重新生成首页静态页
document.write('<script type="text/javascript" src="/Default.aspx"><'+'/script>');
</script>

这样一来,用户访问一次生成好的静态页,就调用一次首页,然后重新生成静态页。

转载于:https://www.cnblogs.com/xpengfee/archive/2007/09/22/902542.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值