每个 Web.webs 的逻辑错误
我试图迭代每个网络及其网络,以获取子网络的列表等,但问题是,当迭代涉及到没有任何子网络的网络时,它会给出异常
未将对象引用设置为对象的实例
在这里
private void dwnEachWeb(SPWeb TopLevelWeb)
{
if (TopLevelWeb.Webs != null)
{
dwnEachList(TopLevelWeb);
}
foreach (SPWeb ChildWeb in TopLevelWeb.Webs)
{
dwnEachWeb(ChildWeb);
ChildWeb.Dispose();
}
}
我什至尝试了“if (TopLevelWeb.Webs.Counts == 0)”但问题是,当没有子网时程序将如何检查它是否为零或为空,我想知道是否有任何方法可以检查网络是否有网络集合,例如我是否可以检查 web.webs 是否存在。
I am trying to iterate through each web and its webs, to get the list of child webs and so on, but problem is, when iteration comes to a web which doesn't have any sub webs it gives an exception
Object Reference not set to an instance of an object
Code is here
private void dwnEachWeb(SPWeb TopLevelWeb)
{
if (TopLevelWeb.Webs != null)
{
dwnEachList(TopLevelWeb);
}
foreach (SPWeb ChildWeb in TopLevelWeb.Webs)
{
dwnEachWeb(ChildWeb);
ChildWeb.Dispose();
}
}
I even tried "if (TopLevelWeb.Webs.Counts == 0)" but problem is, when there will be no subwebs then how program will gonna check if its zero or null, i wonder if there is any way i can check if a web has collection of webs , like if i can check web.webs exists or not.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当
TopLevelWeb.Webs
计算结果为 null 时,您将收到 null 引用异常。所以尝试一下:只有当
TopLevelWeb
和TopLevelWeb.Webs
不为空时,才会执行foreach
。You'll get the null reference exception when
TopLevelWeb.Webs
evaluates to null. So try:This only does the
foreach
ifTopLevelWeb
andTopLevelWeb.Webs
is not null.