示範如何以非同步AJAX方式訪問SharePoint資料

來源:互聯網
上載者:User

很多人都希望在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外掛程式:TreeView、DataTables和FancyBox。

為了協助大家更容易瞭解這些思路,我錄了一個簡短的視頻。

下載WMV格式視頻
下載示範項目源碼

在SharePoint 2010中,其內建提供的Client OM包含了ECMAScript(JavaScript)類庫,這樣開發人員可以直接使用這些類庫,通過頁面指令碼的方式訪問SharePoint 2010網站資料。

Enjoy SharePoint !

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.