2013-07-18 81 views
0

我使用的是母版頁,我必須在初始加載執行功能。我正在使用Ajax和devExpress控件,所以我必須檢查!IsPostback和!IsCallback。當我嘗試使用IsCallback時,intelisense不起作用,如果我寫它,我會收到一條錯誤消息「名稱IsCallback在當前上下文中不存在」。但是,使用Page.IsCallback intelisense可以工作,並且不會顯示錯誤消息。爲什麼IsCallback在母版頁中不起作用?

是否有這樣的一個explenation?檢查母版頁中的回調是否存在問題?

+0

有趣......即使我沒有注意到這之前 –

回答

2

實際解釋很簡單:MasterPage類本身defines只有IsPostback,並沒有定義IsCallbackPage類另一方面has both這些屬性。這就是爲什麼intellisense沒有給你任何東西IsCallback

我相信這背後的原因是,母版頁沒有被設計的請求類型來區分 - 這個工作留給頁面。以任何方式回調只是一種特殊類型的回發。換句話說IsCallback是真實的,只有當IsPostback是真實的,所以IsPostback應該能滿足您的需要。

+0

從我的經驗,我認爲我見過的IsPostBack是虛假和IsCallback是真實的。我經常看到代碼(!IsPostBack &&!IsCallback),以確保這是第一次加載頁面。 –

+0

@DovMiller,你可以分享有關'IsPostback'爲'IsCallback'爲真時的情況信息嗎? ASP.NET中的回調框架只是一個Ajax請求服務器端處理的實現,而回傳是一個術語,指示頁面在第一次加載後是否被請求。由於ajax調用是一種請求,回調只不過是一種特殊的回發形式。 – Andrei

+0

我發現IsCallback在用戶控件中無法識別,但Page.IsCallback是。 –

相關問題