我有一个带有服务器控件的母版页。随机服务器控件无法从代码隐藏中访问。这不会发生在特定操作上(例如按钮单击等)。目前我不知道这可能是什么。我不认为它的输出缓存,因为它没有被显式激活,并且错误很少发生。但是我将在下一次部署时明确禁用母版页中的缓存。
任何人都知道如何找到更多信息以查找正在发生的事情?或者有人有类似的错误?
控件在标记中定义。伴随代码隐藏是:
PGFMainNavi.HasAccessToFunction = HasAccessToNaviItem;
// HasAccessToNavi is a local function
例外是:
System.NullReferenceException: Object reference not set to an instance
of an object
感谢。
SA
答案 0 :(得分:0)
当我缓存控件时,我有类似的错误 - 我总是检查它们是否为null,或者它们是否是正确的类型。
我认为您的控件已缓存在某处。
使用此代码检查未缓存的内容。
if(PGFMainNavi != null)
{
PGFMainNavi.HasAccessToFunction = HasAccessToNaviItem;
}
或找到您在此控件上设置案例的位置并将其删除。
有些时候在线更新之后我收到了这个错误,因为编译器确实无法正确读取所有涉及的文件 - 可能是有些用户在我复制文件的同时读取页面。
为了避免这种情况,我总是在进行更新之前使用 app_offline.htm 。