使用SharePoint Web Service(1):创建子站点

大多数情况下,为了提高灵活性,SharePoint 2007的纯客户端编程,都会借助于使用Web Service。可以参考我这篇文章简单了解一下。

我最近的一个项目就是使用的Web Service,其中碰到的一些问题还是比较有意思的,这里做一些分享吧。

 

如果你搜索使用web service创建子站点,大部分文章都会说,没有办法,还是使用Object Model吧。

实际真的如此吗?

SharePoint实际使用了一个Meetings.CreateWorkspace来创建子站点。

其中templateName用来指定SharePoint站点的模板。你可以查看我的这篇文章来得到所有模板的ID。

使用jQuery的一个示例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function CreateSubsite(title, templateName){
    $().SPServices({
            operation: 'CreateWorkspace',
            title: title,
            templateName: templateName,
            lcid: 1033,
            timeZoneInformation: '',
            async: true,
            completefunc: function(xData,Status) {  
            }  
    });
}
 
CreateSubsite(‘Test001’, ‘STS#0’);

 

这里又遇到一个问题了,默认的模板都是Site Definition做的,是有所谓的Template Code的,对于客户端开发,是没有办法去部署Site Definition到服务器的。用的都是自定义的STP模板,这样是没有Template Code的。

万能的Google告诉我(至少是告诉我),Web Service没法用的。

实际也是可能的,这里有个小技巧了。使用模板文件名就可以了。例如一个TestTemplate.stp。

代码如下:

1
CreateSubsite(‘Test001’, ‘TestTemplate.stp’);
1
  
posted @   Lambert Qin  Views(716)  Comments(2Edit  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
历史上的今天:
2010-04-17 使用PowerShell禁用Loopback Check
点击右上角即可分享
微信分享提示