子非鱼,安知鱼之乐?

我的程序人生,累并快乐着。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一个浪费了4个小时的Page_Load运行两次的问题

Posted on 2006-09-03 13:15  Jason Cui  阅读(459)  评论(1编辑  收藏  举报

今天在做在线用户的时候突然发现一个问题,在所有的页面调用之前加入一个写入用户当前位置的过程,结果这个过程始终只写Default.aspx,无论点击的是哪个页面。跟踪了一通没有发现问题所在,结果被误导了。在首页上点击任何一个页面,最后首页都会被调用一次。而如果直接刷新首页,在生成的时候会连续调用两次Page_Load,这也就意味着整个网页要生成两次,也就是说完全的多了一次运算。不看不知道,一看吓一跳,所有的首页都有这个问题。而且还有一个莫名奇妙的问题,打开其它页面的时候,首页也会被调用一次。转来转去搞了一个下午,试了几个论坛上找到的解释也都不对。

晚上回家接着搞,把所有的Redirect查了一篇,没有找到任何问题。把页面模板里面的东西删的差不多了,也没发现问题所在。都是因为一开始没有发现是Default.aspx的差别,而对比页面是About.aspx。后来终于在微软的论坛上看到一句提示,如果HTML里面存在<img src="">,就会调用一次当前目录里面的Default文件。美工一直使用这种图像点位符来做高度分隔符,查了一下,果然在框架里找到了,去掉这一项一看,果然好了。真背。