我在 asp.net 中有一个使用母版页的网站。在这个母版页中,我有一个多视图控件,其中一个视图包含内容页的所有内容,另一个视图包含母版页的一些本地内容,在该母版页中显示来自所有内容页的错误消息。
在这个错误视图中,我有一个显示错误消息的 asp.net Label 控件。通常标签工作正常,但在少数情况下标签为空,这会呈现 NullReferenceException。现在我通过在使用标签之前检查标签是否为空来处理这种情况,但我的问题仍然是:
为什么这个标签是空的?什么情况下会产生这种情况?
编辑:在母版页中,我有一个名为 SetErrorText 的方法,它接受一个字符串并设置标签。我从内容页面的 Page_Load 方法中调用此方法,这通常可以正常工作。除了两种情况(到目前为止我已经发现),标签都被初始化了,没有什么可以将这两种情况与所有有效的情况分开。
此外,母版页中的所有其他控件都已初始化,例如包含标签的视图控件。
当内容页面的 Page_Load 滚动时,应该填充母版页。