WSS3SDK之:如何创建或删除一个站点或站点集
2009-01-17 18:09
609 查看
如果要创建一个网站,可以使用SPWebApplication类的Add方法。如果要在一个网站下创建子网站,可以使用SPWeb类的Webs属性返回子网站的集合,然后调用集合的Add方法。
下面的样例将从3个文本框中收集信息,然后基于当前网站的模板创建一个新的子网站。文本框用户指定新创建网站的名称,URL以及描述信息。
注意:
本样例中使用Microsoft.SharePoint.SPContent类成员来获取当前的网站集,网站和列表。在HTTP上下文以外,比如在命令行应用或Windows应用中,这种方式是没法用的。
VB
Dim mySite As SPWeb = SPContext.Current.Web
Dim subSites As SPWebCollection = mySite.Webs
Dim currentTemplate As String = mySite.WebTemplate
Dim siteUrl As String = TextBox1.Text.ToString()
Dim siteTitle As String = TextBox2.Text.ToString()
Dim siteDescription As String = TextBox3.Text.ToString()
subSites.Add(siteUrl, siteTitle, siteDescription,
Convert.ToUInt32(1033), currentTemplate, True, False)
C#
SPWeb mySite = SPContext.Current.Web;
SPWebCollection subSites = mySite.Webs;
string currentTemplate = mySite.WebTemplate;
string siteUrl = TextBox1.Text.ToString();
string siteTitle = TextBox2.Text.ToString();
string siteDescription = TextBox3.Text.ToString();
subSites.Add(siteUrl, siteTitle, siteDescription, 1033,
currentTemplate, true, false);
上面的代码需要引用Microsoft.SharePoint命名空间。
在例子中,SPWeb类的WebTemplate属性可以返回当前站点定义的名称,并在随后传给Add方法的参数。该方法的另外3个参数来自文本框的内容。还有3个参数用于指定1033地域号,true使得创建的网站使用独有权限,false的作用是:如果与之位置相同的地方存在文件夹,则抛出异常;如果改成true则会将会将其转换成一个SharePoint站点。
删除一个网站,可以使用SPWeb类的Delete方法,或者SPWebApplication类的Delete方法。
下面的代码假设用一个textbox来指定要删除网站的URL地址,然后使用SPWebApplication类的Delete方法删除站点。
VB
Dim deleteSite As String = TextBox1.Text.ToString()
Dim mySite As SPSite = SPContext.Current.Site
Dim sites As SPWebCollection = mySite.AllWebs
sites.Delete(deleteSite)
C#
string deleteSite = TextBox1.Text.ToString();
SPSite mySite = SPContext.Current.Site;
SPWebCollection sites = mySite.AllWebs;
sites.Delete(deleteSite);
该代码需要引用Microsoft.SharePoint命名空间。
代码中,通过SPSite类的AllWebs属性返回当前网站集下所有网站的集合。
可以使用SPVirtualServer类的Sites属性返回虚拟服务器上网站集的集合,然后使用SPSiteCollection类的Add方法来添加一个网站集。
下面的代码在当前SharePoint Web应用程序下创建了一个网站集。
VB
Dim webApplication As SPWebApplication = SPContext.Current.Site.WebApplication
Dim siteCollections As SPSiteCollection = webApplication.Sites
siteCollections.Add("http://Server_Name/sites/Site_Collection_Name",
"User_Name", "User_Email")
C#
SPWebApplication webApplication = SPContext.Current.Site.WebApplication;
SPSiteCollection siteCollections = webApplication.Sites;
siteCollections.Add("http://Server_Name/sites/Site_Collection_Name",
"User_Name","User_Email ");
该代码需要引用Microsoft.SharePoint.Administration命名空间。
下面的代码中实例化了一个SPGlobalAdmin类,用于调用OpenVirtualServer方法,返回指定URI下的虚拟服务器。
如果要从一个虚拟服务器上删除一个网站集,需要使用SPGlobalAdmin类的AdminFormDigest属性来插入一个信息摘要到浏览器页面中来进行安全验证。我们可以使用System.Web.UI.Page类的RegisterHiddenField方法往页面中插入一个隐藏字段的方式注册该摘要。另外,使用SPGlobalAdmin类的RequestFromAdminPort字段来指定请求的内容通过管理端口来传递。
下面的样例利用Page_Load事件来将用于管理的窗体摘要包含到页面中,然后建立请求。
VB
Private globalAdmin As New SPGlobalAdmin()
Private Sub Page_Load(sender As Object, e As System.EventArgs)
Context.Items(SPGlobalAdmin.RequestFromAdminPort) = True
Page.RegisterHiddenField("__REQUESTDIGEST",
globalAdmin.AdminFormDigest)
End Sub 'Page_Load
Private Sub Button1_Click(sender As Object, e As System.EventArgs)
Dim globalAdmin As New SPGlobalAdmin()
Dim uri As New System.Uri("http://Server_Name")
Dim vServer As SPVirtualServer = globalAdmin.OpenVirtualServer(uri)
Dim siteCollections As SPSiteCollection = vServer.Sites
siteCollections.Delete("sites/Site_Collection")
End Sub 'Button1_Click
C#
private SPGlobalAdmin globalAdmin = new SPGlobalAdmin();
private void Page_Load(object sender, System.EventArgs e)
{
Context.Items[SPGlobalAdmin.RequestFromAdminPort] = true;
Page.RegisterHiddenField("__REQUESTDIGEST",
globalAdmin.AdminFormDigest);
}
private void Button1_Click(object sender, System.EventArgs e)
{
SPGlobalAdmin globalAdmin = new SPGlobalAdmin();
System.Uri uri = new System.Uri("http://Server_Name");
SPVirtualServer vServer = globalAdmin.OpenVirtualServer(uri);
SPSiteCollection siteCollections = vServer.Sites;
siteCollections.Delete("sites/Site_Collection");
}
该代码需要引用Microsoft.SharePoint.Administration命名空间。
下面的样例将从3个文本框中收集信息,然后基于当前网站的模板创建一个新的子网站。文本框用户指定新创建网站的名称,URL以及描述信息。
注意:
本样例中使用Microsoft.SharePoint.SPContent类成员来获取当前的网站集,网站和列表。在HTTP上下文以外,比如在命令行应用或Windows应用中,这种方式是没法用的。
VB
Dim mySite As SPWeb = SPContext.Current.Web
Dim subSites As SPWebCollection = mySite.Webs
Dim currentTemplate As String = mySite.WebTemplate
Dim siteUrl As String = TextBox1.Text.ToString()
Dim siteTitle As String = TextBox2.Text.ToString()
Dim siteDescription As String = TextBox3.Text.ToString()
subSites.Add(siteUrl, siteTitle, siteDescription,
Convert.ToUInt32(1033), currentTemplate, True, False)
C#
SPWeb mySite = SPContext.Current.Web;
SPWebCollection subSites = mySite.Webs;
string currentTemplate = mySite.WebTemplate;
string siteUrl = TextBox1.Text.ToString();
string siteTitle = TextBox2.Text.ToString();
string siteDescription = TextBox3.Text.ToString();
subSites.Add(siteUrl, siteTitle, siteDescription, 1033,
currentTemplate, true, false);
上面的代码需要引用Microsoft.SharePoint命名空间。
在例子中,SPWeb类的WebTemplate属性可以返回当前站点定义的名称,并在随后传给Add方法的参数。该方法的另外3个参数来自文本框的内容。还有3个参数用于指定1033地域号,true使得创建的网站使用独有权限,false的作用是:如果与之位置相同的地方存在文件夹,则抛出异常;如果改成true则会将会将其转换成一个SharePoint站点。
删除一个网站,可以使用SPWeb类的Delete方法,或者SPWebApplication类的Delete方法。
下面的代码假设用一个textbox来指定要删除网站的URL地址,然后使用SPWebApplication类的Delete方法删除站点。
VB
Dim deleteSite As String = TextBox1.Text.ToString()
Dim mySite As SPSite = SPContext.Current.Site
Dim sites As SPWebCollection = mySite.AllWebs
sites.Delete(deleteSite)
C#
string deleteSite = TextBox1.Text.ToString();
SPSite mySite = SPContext.Current.Site;
SPWebCollection sites = mySite.AllWebs;
sites.Delete(deleteSite);
该代码需要引用Microsoft.SharePoint命名空间。
代码中,通过SPSite类的AllWebs属性返回当前网站集下所有网站的集合。
可以使用SPVirtualServer类的Sites属性返回虚拟服务器上网站集的集合,然后使用SPSiteCollection类的Add方法来添加一个网站集。
下面的代码在当前SharePoint Web应用程序下创建了一个网站集。
VB
Dim webApplication As SPWebApplication = SPContext.Current.Site.WebApplication
Dim siteCollections As SPSiteCollection = webApplication.Sites
siteCollections.Add("http://Server_Name/sites/Site_Collection_Name",
"User_Name", "User_Email")
C#
SPWebApplication webApplication = SPContext.Current.Site.WebApplication;
SPSiteCollection siteCollections = webApplication.Sites;
siteCollections.Add("http://Server_Name/sites/Site_Collection_Name",
"User_Name","User_Email ");
该代码需要引用Microsoft.SharePoint.Administration命名空间。
下面的代码中实例化了一个SPGlobalAdmin类,用于调用OpenVirtualServer方法,返回指定URI下的虚拟服务器。
如果要从一个虚拟服务器上删除一个网站集,需要使用SPGlobalAdmin类的AdminFormDigest属性来插入一个信息摘要到浏览器页面中来进行安全验证。我们可以使用System.Web.UI.Page类的RegisterHiddenField方法往页面中插入一个隐藏字段的方式注册该摘要。另外,使用SPGlobalAdmin类的RequestFromAdminPort字段来指定请求的内容通过管理端口来传递。
下面的样例利用Page_Load事件来将用于管理的窗体摘要包含到页面中,然后建立请求。
VB
Private globalAdmin As New SPGlobalAdmin()
Private Sub Page_Load(sender As Object, e As System.EventArgs)
Context.Items(SPGlobalAdmin.RequestFromAdminPort) = True
Page.RegisterHiddenField("__REQUESTDIGEST",
globalAdmin.AdminFormDigest)
End Sub 'Page_Load
Private Sub Button1_Click(sender As Object, e As System.EventArgs)
Dim globalAdmin As New SPGlobalAdmin()
Dim uri As New System.Uri("http://Server_Name")
Dim vServer As SPVirtualServer = globalAdmin.OpenVirtualServer(uri)
Dim siteCollections As SPSiteCollection = vServer.Sites
siteCollections.Delete("sites/Site_Collection")
End Sub 'Button1_Click
C#
private SPGlobalAdmin globalAdmin = new SPGlobalAdmin();
private void Page_Load(object sender, System.EventArgs e)
{
Context.Items[SPGlobalAdmin.RequestFromAdminPort] = true;
Page.RegisterHiddenField("__REQUESTDIGEST",
globalAdmin.AdminFormDigest);
}
private void Button1_Click(object sender, System.EventArgs e)
{
SPGlobalAdmin globalAdmin = new SPGlobalAdmin();
System.Uri uri = new System.Uri("http://Server_Name");
SPVirtualServer vServer = globalAdmin.OpenVirtualServer(uri);
SPSiteCollection siteCollections = vServer.Sites;
siteCollections.Delete("sites/Site_Collection");
}
该代码需要引用Microsoft.SharePoint.Administration命名空间。
相关文章推荐
- WSS3SDK之:如何在SharePoint站点中创建Web应用程序
- WSS3SDK之:如何创建一个事件处理程序Feature
- WSS3SDK之:如何创建或删除列表
- WSS3SDK之:如何创建一个简单的Feature
- WSS3SDK之:如何在多个网站中添加或删除一个列表
- 如何对一个文件夹进行创建和删除?
- 我在 VSAN 数据存储中创建了一个文件夹,如何删除它呢?
- 如何创建一个一流的SDK?
- 如何用编程方式实现创建一个页面并替换掉站点首页
- WSS3SDK之:如何添加和删除列表项
- WSS3SDK之:如何定制一个委托控件
- OpenCms9 系列一, 如何创建一个站点
- windows7系统下如何创建一个别人无法删除的文件夹
- ios开源框架——如何在iOS SDK中创建一个umbrellaframework(framework库的再封装)
- 如何创建一个https的站点(超简单) 以及 IIS7.5绑定Https域名
- WSS3SDK之:如何从本地文件夹上传文件到SharePoint站点
- WSS3SDK之:如何通过Feature预置一个文件
- 如何编写一个创建FTP站点的函数?
- WSS3SDK之:如何获取网站和站点集对象
- WSS3SDK之:通过Feature创建一个自定义列表定义