2009-05-04 89 views
0

我已经做了一个自定义查找字段,我查找我的顶级网站中的联系人。但我想查找一个子网站。获取父级网络不是顶级

dataSource.List = site.RootWeb.Lists [“Contacts”];

这是我用于查找的代码,但我参考rootweb,我不想那样。 有人?

THX

+0

这是我如何发起我的网站价值 SPSite site = SPContext.GetContext(this.Context).Site; – idsis 2009-05-04 09:02:06

回答

0

假设 “网站” 是您当前的SPWeb,单纯看site.Webs或site.GetSubwebsForCurrentUser()。即使当前用户无法访问,我相信前者会尝试给予所有子站点,因此后者可能是首选。


更新 - 后来我才意识到自己的问题的标题表明您想要父站点,而你的问题的文本表示你想要一个子网站。以上是一个子站点。父母的网站只是site.ParentWeb(再次,假设“网站”是你的SPWeb)。如果你关心检查,你总是可以检查IsRootWeb属性。


又一个更新 - 根据您的评论,它看起来像“网站”可能是SPSite而不是SPWeb。要获得一个网站,你需要做一些像site.OpenWeb()(现在假设“网站”是一个SPSite)。最好在C#using语句中完成此操作,以便在完成后处理SPWeb。请注意,如果SPSite使用SPWeb的完整URL进行实例化,则OpenWeb方法可以不带任何工作正常的参数。或者OpenWeb可以带一个URL参数。