天天看點

Page_Load不執行

 <@ 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次.