【发布时间】:2012-04-29 15:48:08
【问题描述】:
我的一个母版页中有一个奇怪的错误,在 Visual Studio 中我可以正常访问控件。
即Me.lblName.Text = "abc"。
这编译得很好。但是,当它运行时,我得到通常的空引用错误。设置任何控件的属性的唯一方法是使用
Me.FindControl("lblError").Text = "abc"
似乎出于某种原因,控件未正确初始化。我知道我可以使用init() 等作弊并自己加载它们,但我不应该这样做。让我再说一遍,我不是试图从子页面访问控件,而是母版页本身。
有人知道为什么会这样吗?
【问题讨论】:
-
尝试将设计器上的标签 ID 更改为“lblNam”,保存,重命名回“lblName”,保存。通过这种方式重新创建声明。该控件是在您的代码隐藏类中还是在 Designer.vb 中声明的?
-
这些控件是声明式定义的还是在运行时动态创建的?
-
母版页上是否声明了控件?您尝试在哪个页面阶段(OnLoad、OnInit、OnPreRender...)访问控件?
-
控件在designer.vb文件中声明,我试图在PageLoad期间设置文本。重命名控件没有效果,仍然得到一个对象引用错误。这真是令人费解。
-
为什么不在线上传一小段代码,让我们看看?
标签: asp.net visual-studio-2010