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