繁体   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