博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

Page_Load不执行

Posted on 2008-09-24 11:51  codingsilence  阅读(225)  评论(0编辑  收藏  举报
 <@ Page language=c# AutoEventWireup="false" Inherits="XXX" %>
AutoEventWireup="false"  中 false表示不调用自动调用页事件,即 Page_Init 和 Page_Load 方法。

这样就可以实现不执行Page_Load 了。也可以发现一些此类bug,不明白为什么Page_Load 不执行呢】

 

 

今天在一个网页上放置了一个fck控件,就按照别人的说法把AutoEventWireup设置成了false,后来发现page_load()不执行了,郁闷非常,调了老长时间没发现错误,后来才发现原来是因为AutoEventWireup设置成了false,改了一下,设置成了true。查了一下msdn,原来AutoEventWireup属性原来是用来加载
文档事件的。
如果@Page指令的AutoEventWireup属性设置成True,网页构架就会自动调用网页事件,尤其是
Page_Init和蔼Page_Load方法,在此情况下,就不需要明确的Handles参数或委托;

AutoEventWireup属性的缺点是它需要网页事件处理程序拥有可预期的特定名称,因此在VS中,
AutoEnentWireup属性的默认值是False,此时设计器会产生明确的代码将网页时间绑定至方法;

如果将AutoEventWireup属性设置为True,则VS会产生代码来绑定事件,而且网页架构会自动根据事件的名称来调用事件,这可能会导致网页运行时相同的事件代码被调用2次.