0

我剛剛切換到VS 2010,並升級了以前的項目。我得到的設計方式在頁面上出現以下錯誤2個控制:設計模式下的ASP.net錯誤

Error Creating Control - ObjectName 
Object reference not set to an instance of an object. 

其中之一是一個簡單的標籤,而另一種是AJAX更新面板。其他頁面看起來很好。當我構建並測試應用程序時,頁面在瀏覽器中呈現良好並且功能正常 - 標籤按預期運行,並且更新面板中的內容按預期工作。

任何想法,爲什麼我得到這個錯誤?我嘗試了一些谷歌的結果無濟於事。這很好,可以避免這種情況發生。

謝謝!

+0

這些服務器控件是? – MyItchyChin 2010-05-04 17:32:42

+0

我這麼認爲,我對它們設置了runat =「server」。 – stringo0 2010-05-04 18:10:09

回答

1

當Visual Studio中的設計器實例化服務器控件或組合控件的實例時,可能會發生此錯誤。它將嘗試讀取可能映射到控件中尚未初始化的對象的可讀屬性。如果您有自定義服務器控件,則需要覆蓋基本控制調用的CreateChildControls方法,並在其中初始化屬性所依賴的任何對象,然後在屬性中調用基礎EnsureChildControls方法。

這將確保您的控件中的所有依賴對象在被引用前被初始化。

+1

嗯 - 任何想法,爲什麼我在這個標籤上得到它: 我使用內置工具 - Ajax更新面板,等等,並且當我在設計器中查看時,頁面上的一個自定義控件在另一個頁面上顯示得很好。 這有點令人困惑,因爲我在VS 2008中查看過另一臺機器,它顯示正常。 我認爲這可能是一些微不足道的事情,我可能會忽略 - 我沒有從顯示正常時更改頁面。也許VS 2010有更嚴格的標準? – stringo0 2010-05-04 18:10:47