frankie

导航

asp.net页面加载两次的问题

前阵子老遇到Page_Load被两次执行的问题.
而正好此时在做从.Net1.1到2.0的迁移,便怀疑是因为.net 2.0的原因:
认为是2.0自动注册了Load事件,如再手工注册便会产生两次执行.

后来注意到其实不是如此,
这里涉及到 Page 指令中的 AutoEventWireup方法:
True(default): 该页框架将自动调用页事件,即 Page_Init 和 Page_Load 方法。在这种情况下,不需要任何显式的 Handles 子句或委托。
False :需手工注册委托.
所以,当AutoEventWireup="True"(或不设,默认为True),而又在后台文件中显式的 Handles 子句或委托时,便会发生相关方法调用两次的问题.
而要解决这个问题,破坏上述条件中的任一个均可.
注:当AutoEventWireup="True"时,Page_Init与Page_Load两方法的名称限定为此

posted on 2006-07-21 14:29  frankie  阅读(975)  评论(1)    收藏  举报