使用SharePoint Web Service(3):删除子站点
在我这篇日志中介绍了如何用Web Sevice创建一个子站点,既然能够创建站点,就应该能够删除。这篇文章就介绍一下在客户端编程的时候删除站点的方法。
Meetings.CreateWorkspace提供了创建子站点的办法,与之相对的Meetings.DeleteWorkspace方法也提供一个删除掉站点的方法,但是只能删除掉Meeting Workspace站点。如果尝试删除非Meeting Workspace站点,会抛出一个异常,具体在SDK中写的很清楚,我也不赘述了。
这样只有一条路了,使用SharePoint RPC,其中remove service方法可以做到这一点,以下是示例方法:
其中service_name是相对于根站点的相对路径,例如你站点是http://www.contoso.com/sites/team01/subsite01/,这里的路径就是/sites/team01/subsite01。
var rpcString = 'method=remove+service&service_name='+Web_Server_Relative_Url+'/'+siteName; $.ajax({ url: Web_Server_Relative_Url+'/_vti_bin/_vti_adm/admin.dll', type: 'POST', beforeSend: function(xhr) { xhr.setRequestHeader('X-Vermeer-Content-Type', 'application/x-www-form-urlencoded'); }, data: rpcString, async: true, contentType: 'application/x-www-form-urlencoded', complete: function(data, textStatus){ if (textStatus == 'success' && $(data.responseText).length == 2){ //sucessfully deleted web. //do your job here } else { //failed to delete web } } });