簡體   English   中英

Page_Load 上的 NullReferenceException

[英]NullReferenceException on Page_Load

我正在嘗試在 ASP.NET 頁面上的 Page_Load 表單中編輯文本框的文本,但是當我嘗試編輯 TextBox1.Text 時,它會引發 NullReferenceException,因為尚未實例化 TextBox。 具體來說,我要實現的是: http://www.codeproject.com/KB/user-controls/popupcalendarcontrol.aspx但它是為舊版本的 ASP.NET 編寫的,對我不起作用。 有沒有辦法在 Page_Load 開始時實例化控件? 或者我可以在負載上捕獲的其他事件? 使用普通的 windows 表單,我會在構造函數中調用 InitializeComponent()。

您可以附加絕對不同的事件,但聽起來頁面沒有正確加載控件,因為此時它們應該可用。 您可以查看ASP.NET 頁面生命周期以獲取更多信息。

TextBox 是否位於綁定控件中,例如 FormView、GridView、DataList 等? 如果是這樣,那么在數據綁定發生之前控件將不存在。 一旦該事件發生,您可以執行類似的操作

DirectCast(myDataList.SelectedRow.FindControl("myTextBox"), TextBox).Text

我知道我在回答這個問題方面有點落后,但我發現了一些我在任何地方都找不到的不尋常的東西。 如果您的頁面位於母版頁“下”,並且如果您在所述母版頁上引用任何內容,則似乎您當前頁面的控件是 null - 其中每個人。 我通過在我的 InitializeCulture 方法期間引用“Master.Environment” - 一個公共字符串 - 並在 Page_Load() 期間讓我當前(Default.aspx)頁面上的第一個控件是 null 發現了這一點 - 無論第一個控件是什么。

我知道我遲到了,但如果這可以幫助任何人,我想要這個詞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM