在MOSS開發中,每個朋友都能夠很自然的想到WebPart,的確,在當今的web開發中,爲了滿足更多用戶的需求,個性化定製成爲了開發人員的一個大難題,不過現在大家似乎不用在爲這個問題犯困了,實際上微軟已經幫我們解決了,那就是開發WebPart,但是由於很多朋友不知道WebPart的工作機制,使得開發起來難度較大,現在筆者就介紹一種簡單的WebPart開發方式------使用QuickPart;那麼QuickPart是什麼東西呢?讓我來告訴您,QuickPart就是一種可以將ASP.NET裏頭的WebUserControl打包成標準的SharePoint WebPart,下面筆者通過一些例子介紹如何如何使用QuickPart進行WebPart的快速開發.
此例子要實現的效果是將文檔庫的目錄結構綁定至TreeView控件,採用對象模型(Object Model)編程
筆者新建的是ASP.NET Web應用程序,使用的語言是Visual C#,您可根據自己擅長的編程語言創建ASP.NET網站或者ASP.NET Web應用程序,這都是可以的
在編碼之前,筆者先配置環境,使得每次一生成項目,就能夠自動的把我們要的.dll和.ascx拷貝到對應的SharePoint站點目錄的BIN文件夾和WPRESOURCES下,右擊項目名稱,選擇屬性,在跳出的頁面上選擇”生成事件”,編輯其生成後的命令行
上圖中命令的意思是將生成的.dll文件拷貝至SharePoint站點所在的目錄” C:/Inetpub/wwwroot/wss/VirtualDirectories/80/bin”下,將項目文件夾下的所有用戶控件拷貝至” C:/Inetpub/wwwroot/wss/VirtualDirectories/80/wpresources”目錄下,當然,您如果不想配置該命令行,每次生成項目後也可手動拷貝,單擊確定
您可以將項目下的Default.aspx刪除,添加一個Web用戶控件,筆者取名爲TreeCatalog.ascx,往頁面上拖拽一個TreeView控件,ID設爲tvTreeCatalog,筆者建議使用有意義的ID號
由於需要使用到SharePoint命名空間,所以筆者這裏將Microsoft.SharePoint.dll引用至項目中,該.dll所在目錄爲” C:/Program Files/Common Files/Microsoft Shared/web server extensions/12/ISAPI”
TeeCatalog.ascx.cs代碼如下:
以上四個方法就是本例子的代碼,由於頁面較長,筆者就不截圖了,註釋也都寫上,核心的思想就是使用遞歸算法,請注意,當您直接使用筆者的代碼時請確保您的sharepoint站點下存在名爲”我的文檔”的文檔庫
生成項目,可以在輸出框中看到已經自動將.dll和.ascx文件複製到sharepoint站點的bin和wpresources目錄下
打開sharepoint網站首頁,進入”文檔中心”子站點,依次選擇”網站操作”->”編輯網頁”
在左欄區域單擊”添加Web部件”
找到QuickPart,二者選一個即可,單擊添加按鈕
此時頁面仍然處於編輯狀態,並且在左欄的WebPart區域成功添加了ProviderQuickPart部件,下面我們編輯它
選擇”編輯”->”修改共享Web部件”
在頁面右邊彈出的SideBar上就可以看到我們生成的用戶控件TreeCatalog了,選擇它並單擊確定按鈕
選擇”退出編輯模式”
當您重新打開sharepoint站點時就可以看到將名爲”我的文檔”的文檔庫成功綁定到TreeView控件上了.