返回作为请求上下文的网站集。
命名空间: Microsoft.SharePoint.WebControls
程序集: Microsoft.SharePoint(位于 Microsoft.SharePoint.dll 中)
语法
声明
Public Shared Function GetContextSite ( _
context As HttpContext _
) As SPSite
用法
Dim context As HttpContext
Dim returnValue As SPSite
returnValue = SPControl.GetContextSite(context)
public static SPSite GetContextSite(
HttpContext context
)
参数
context
类型:System.Web.HttpContextSystem.Web.HTTPContext 对象,它封装服务器用于处理网站请求的特定于 HTTP 的上下文。
返回值
类型:Microsoft.SharePoint.SPSite
表示网站集的Microsoft.SharePoint.SPSite对象。
备注
与 Windows SharePoint Services 部署集成 HTTP 上下文中运行的代码中使用GetContextSite方法。在 Web 部件中,在自定义 Web 服务 (在 _vti_bin),可以使用的代码或 ASPX 页或 Web 应用程序 (在 _layouts) 中。在每个这些情况下,解决方案可供在前端 Web 服务器上,任何 SharePoint 网站和GetContextSite方法将返回当前 HTTP 请求的SPSite对象。例如,返回创建的用户访问页上的所有列表项的自定义 ASPX 页 (_layouts/1033/MyItems.aspx) 将可供使用的 Web 服务器上的所有网站中,通过浏览到 Url,如下所示:
http:// Server_Name /_layouts/1033/MyItems.aspx
http:// Server_Name /sites/ Site_Collection /_layouts/1033/MyItems.aspx
http:// 服务器名称 / 子网站 /_layouts/1033/MyItems.aspx
不使用SPSite类的释放或关闭方法关闭通过GetContextSite方法返回的对象。而是让SharePoint Foundation或门户应用程序管理的对象。
For more information, see Getting References to Sites, Web Applications, and other Key Objects.
示例
下面的代码示例使用GetContextSite方法结合使用GetContextWeb方法返回一个网站集和网站对象在.aspx 页上。
[Visual Basic .NET]
<% Dim siteCollection As SPSite = SPControl.GetContextSite(Context)
Dim site As SPWeb = SPControl.GetContextWeb(Context) %>
[C#]
<% SPSite siteCollection = SPControl.GetContextSite(Context);
SPWeb site = SPControl.GetContextWeb(Context); %>