我有一个 Asp.NET 应用程序(VS2008,Framework 2.0)。当我尝试在其中一个用户控件上设置属性时,例如

myUserControl.SomeProperty = someValue;

我得到一个 NullReferenceException. 。当我调试时,我发现 myUserControl 一片空白。用户控件句柄怎么可能为空?我该如何解决这个问题或者如何找到导致此问题的原因?

有帮助吗?

解决方案

您想在哪里访问该属性?如果您处于 onInit 中,则控件可能尚未加载。

其他提示

您到底在代码中的哪个位置尝试执行此操作?您可能过早地尝试访问该控件 页面生命周期 并且它还没有被实例化。

如果您在运行时创建了 UserControl(通过 ControlCollection.Add),则也需要在回发时创建它。

另一种情况可能是您的 UserControl 与 Designer.cs 页面不匹配

我试图从外部用户控件上的标记设置属性。当我将该属性带到 OnLoad 时,它起作用了。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top