2
我的主頁中有一個奇怪的錯誤,在Visual Studio中,我可以正常訪問控件。主頁只能使用FindControl訪問控件
即Me.lblName.Text = "abc"
。
這個編譯好。但是,當它運行時,我會得到通常的空引用錯誤。設置任何控件屬性的唯一方法是使用
Me.FindControl("lblError").Text = "abc"
似乎由於某種原因,控件未被正確初始化。我知道我可以使用init()
等自己作弊並加載它們,但我不應該這樣做。讓我再說一遍,我不是試圖從子頁面訪問控件,而是訪問母版頁。
任何人都知道爲什麼會發生這種情況?
嘗試將設計器上的標籤ID更改爲'lblNam',保存並重命名爲'lblName',保存。在這種方式中,聲明被重新創建。該控件是在你的代碼隱藏類還是在designer.vb中聲明的? – 2012-03-08 09:36:40
這些控件是聲明式定義還是在運行時動態創建? – 2012-03-08 09:36:58
控制檯是否在母版頁上聲明?並且在什麼頁面階段(OnLoad,OnInit,OnPreRender ...)你想要訪問控件? – omittones 2012-03-08 10:14:43