示范如何以异步AJAX方式访问SharePoint数据

很多人都希望在SharePoint页面上能让某个部分能"局部刷新",也就是说,这个部分的内容在刷新的时候,不会造成整个页面的Postback。为了快速演示大致的实现方法,在周末的时候做了一个用来示范的项目,它实现的功能很简单: 

1、提供给用户一个下拉框,列出当前网站所有的文档库,用户可以选择一个文档库,并载入此文档库的文件夹架构。 
2、文件夹结构通过一个TreeView来进行展现。 
3、当用户在TreeView上点击一个文件夹节点时,将文件夹所包含的文件显示在一个Grid Table中。 
4、在Grid Table中,包括了分页、排序、搜索等功能。 
5、上面的所有从SharePoint系统中载入数据的操作,都不会引发页面刷新,而是通过异步AJAX方式从SharePoint系统中获取所需的数据。载入数据的过程中,用户的页面操作不会被打断。 

这个示范的实现思路大致如下: 

1、为了能让SharePoint系统对外发布所需的数据,需要在服务器上创建几个定制的接口。虽然SharePoint内置了Web Services接口,但其中不一定会包含我们所需的接口方法。在这个示范中,为了简单起见,我直接创建了几个.ashx Http Handler,客户端的代码可以通过直接访问这几个.ashx文件,来调用服务器端的接口。 

2、这几个.ashx文件会以JSON格式纯文本方式,将客户端请求的数据返回。选择JSON格式的理由是,它足够简单且通用,在这里示范的场景中,其表现力足够用了。另外一个选择JSON的理由是,我打算在页面上使用jQuery来调用服务器端的接口,而jQuery对JSON格式的数据有很好的处理能力。 

3、客户端页面上的展现,没有创建自定义Web Part,而是用HTML + JS的方式,来访问服务器端的服务接口,获取到所需数据,并将界面呈现给用户。简单来说,就是AJAX啦。我选择使用jQuery,并利用了jQuery异步AJAX的能力,实现异步请求、无刷新、不阻塞用户页面操作的效果。 

4、为了方便快速的实现TreeView、Grid Table、Dialog等界面效果,我直接找了三个jQuery插件:TreeViewDataTablesFancyBox。 

为了帮助大家更容易了解这些思路,我录了一个简短的视频。 

 

下载WMV格式视频 
下载示范项目源码 

在SharePoint 2010中,其内置提供的Client OM包含了ECMAScript(JavaScript)类库,这样开发人员可以直接使用这些类库,通过页面脚本的方式访问SharePoint 2010网站数据。 

Enjoy SharePoint !





本文转自 kaneb0y 51CTO博客,原文链接:http://blog.51cto.com/kaneboy/285912,如需转载请自行联系原作者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值