获取父网站不是顶级

时间:2009-05-04 08:16:32

标签: .net sharepoint

我创建了一个自定义查找字段,然后查找顶级网站中的联系人。但我想查找子网站。

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

这是我用于查找的代码,但是我引用了rootweb,我不希望这样。 有人?

THX

1 个答案:

答案 0 :(得分:0)

假设“site”是您当前的SPWeb,只需查看site.Webs或site.GetSubwebsForCurrentUser()。我相信前者会尝试给你所有子网站,即使当前用户没有访问权限,所以后者可能是首选。


更新 - 我后来意识到你的问题标题表明你想要父网,而你问题的文字表明你想要一个子网。上面是一个子网站。父网站只是site.ParentWeb(再次假设“网站”是您的SPWeb)。如果您需要检查,可以随时检查IsRootWeb属性。


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