我思故我在我有我精彩--liangqihui

爱欲追而情已逝,子欲孝而亲不待。人生的困苦又怎能用一个难字囊尽百味
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

小心你的Page_Load重复执行(转贴)

Posted on 2006-10-30 13:21  挥辉  阅读(316)  评论(0编辑  收藏  举报

这两天忙于优化网站,发现了很多潜在的问题。在.net 2.0 环境下,要特别主要html和js的写法。

如果页面上出现src=""类似等效属性或样式,会导致对某些页面发生请求,导致Page_Load执行两次或更多, 使页面性能直线下降。

例如<img src="#">,改语句将导致本页面Pag_Load多次执行。

因为#表示对本页的某个锚点请求,当页面下载到此处时,会Request本页面。

而如果<img src="">, 那么会对本级虚拟路径的默认页进行请求,

例如http://www.abc.com/blog/test.aspx 页面上有此标记,那么页面加载到此标记时会对http://www.abc.com/blog/发生请求,如果有默认页,那么默认页会被加载。因此要去掉src="#" 和 src=""。

同时还有一些样式,例如<td background="#ffffff">,也将对本页进行请求,因为浏览器首先将background的属性值作为图片进行请求,所以,浏览器认为td的background为“xxx.aspx?#fffff”这个图片,应该改为<td bgcolor="#ffffff"> 或 <td style="background-color:#ffffff">。