2012-03-08 21 views
2

我的主頁中有一個奇怪的錯誤,在Visual Studio中,我可以正常訪問控件。主頁只能使用FindControl訪問控件

Me.lblName.Text = "abc"

這個編譯好。但是,當它運行時,我會得到通常的空引用錯誤。設置任何控件屬性的唯一方法是使用

Me.FindControl("lblError").Text = "abc" 

似乎由於某種原因,控件未被正確初始化。我知道我可以使用init()等自己作弊並加載它們,但我不應該這樣做。讓我再說一遍,我不是試圖從子頁面訪問控件,而是訪問母版頁。

任何人都知道爲什麼會發生這種情況?

+2

嘗試將設計器上的標籤ID更改爲'lblNam',保存並重命名爲'lblName',保存。在這種方式中,聲明被重新創建。該控件是在你的代碼隱藏類還是在designer.vb中聲明的? – 2012-03-08 09:36:40

+2

這些控件是聲明式定義還是在運行時動態創建? – 2012-03-08 09:36:58

+1

控制檯是否在母版頁上聲明?並且在什麼頁面階段(OnLoad,OnInit,OnPreRender ...)你想要訪問控件? – omittones 2012-03-08 10:14:43

回答

0

以及重命名,也嘗試刪除控件並從工具箱重新添加。