如何在WebPart中访问页面上的其他WebPart
今天在和朋友討論一個老外寫的WebPart的時候,發現那個WebPart獲取頁面上的其他WebPart信息時,并不是通過標準的WebPart Connection,而是直接用代碼來得到頁面上另外那個WebPart的實例對象,然后通過獲得此WebPart對象屬性的值,來獲得所需信息的。
?
SharePoint的Object Model其實提供了很完整的方法,讓我們的代碼可以直接獲取任何頁面上的所有WebPart的信息,所以在這里向大家簡要介紹一下如何通過代碼來訪問頁面上的WebPart。
?
示范代碼如下:
?
SPWeb web = SPControl.GetContextWeb(this.Context);
SPWebPartCollection webParts = web.GetWebPartCollection(“default.aspx”, Storage.Shared);
?
上面的兩行代碼,就獲得了“default.aspx”這個頁面上的所有WebPart集合。SPWebPartCollection這個對象擁有例如“Add()”、“Delete()”等方法,能夠讓我們直接用代碼把WebPart添加到頁面上,或者從頁面上把WebPart刪除。
?
foreach (WebPart wp in webParts)
{
????String sTitle = wp.Title;
}
?
上面的代碼遍歷所有的WebPart,每一個WebPart都是一個類型為“WebPart”(不是SPWebPart哦,呵呵)的對象,然后,通過訪問這個對象的屬性值,就能輕松獲取某個WebPart的信息了。我們還能在代碼中直接修改某個WebPart的屬性值,但是修改以后,記得調用SPWebPartCollection對象的SaveChanges()方法,把修改的內容保存下來。
?
下面的圖片是我做的一個Demo WebPart,在填入一個頁面的URL后,它能夠把此頁面上所有的WebPart列出來,并顯示選中的WebPart的所有屬性。
?此Demo WebPart點擊這里下載。
本文轉自 kaneb0y 51CTO博客,原文鏈接:http://blog.51cto.com/kaneboy/281321,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的如何在WebPart中访问页面上的其他WebPart的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS 7下搭建LAMP并把MyS
- 下一篇: 【坐在马桶上看算法】算法4:队列——解密