获取SharePoint 2007中的WebPart的GUID

时间:2010-04-13 20:26:22

标签: sharepoint sharepoint-2007 web-parts guid

我正在尝试发布一些jQuery和其他Javascript来隐藏和显示页面上的WebParts。我想做的是找到两件事之一:

  • 包含WebPart的表格单元格的ID(即MSOZoneCell_WebPartWPQ5)
  • HTML中显示的WebPart div选项卡的WebPartID(即WebPartID =“059611a7-adef-479e-bda9-fe5799dc62d1”)

我使用以下代码查看了我要影响的区域中的WebParts:

        System.Web.UI.WebControls.WebParts.WebPartZoneBase
        myZone = this.Zone;

        if (myZone != null)
        {

            for (int i = 0; i < myZone.WebParts.Count; i++)
            {
                // Get the web part
                System.Web.UI.WebControls.WebParts.WebPart wp =
                    myZone.WebParts[i] as System.Web.UI.WebControls.WebParts.WebPart;
                if (wp != null)
                {
                    // Build an XPath query to get the attribute for
                    // this web part
                    string xpathQuery = "/tabs/tab[@name='" + wp.Title + "']";

                    XmlElement wpElement =
                        tabConfigDoc.SelectSingleNode(xpathQuery) as XmlElement;

                    if (wpElement != null)
                    {                            
                        hideTabsJS.AppendFormat("$(\"#{0}\").hide(); ", wp.ID);
                        //switchTabsJS.AppendFormat("$(\"#{0}\").hide(); ", wp.ClientID);
                    }
                }
            }

问题是WebPart或WebPartManager的API似乎都没有提供此信息。是否可以导出两个ID中的一个?

2 个答案:

答案 0 :(得分:1)

只是好奇,您是否尝试将网页部件转换为Microsoft.SharePoint.WebPartPages.WebPart并从中访问ID?

(来自http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webpartpages.webpart.id.aspx

答案 1 :(得分:1)

我知道这已经过时了,但是我发现它还在寻找别的东西,并认为“关闭它”可能会有所帮助。 Rob正在寻找(并且可能很久以前发现)的Microsoft.SharePoint.WebPartPages.WebPart属性是 StorageKey 属性。