Получить GUID веб-части в SharePoint 2007 - PullRequest
1 голос
/ 14 апреля 2010

Я пытаюсь создать jQuery и другой Javascript, который будет скрывать и отображать веб-части на странице. Я хотел бы найти одну из двух вещей:

  • Идентификатор ячейки таблицы, содержащей веб-часть (т. Е. MSOZoneCell_WebPartWPQ5)
  • WebPartID вкладки div веб-части, которая отображается в HTML (т.е. WebPartID = "059611a7-adef-479e-bda9-fe5799dc62d1")

Я посмотрел на веб-части в зоне, на которые я хочу воздействовать, используя следующий код:

        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);
                    }
                }
            }

Проблема в том, что ни один из API для WebPart или WebPartManager, по-видимому, не предоставляет эту информацию. Можно ли получить один из двух идентификаторов?

Ответы [ 2 ]

1 голос
/ 21 ноября 2010

Я знаю, что это старо, но я наткнулся на это, спрашивая что-то еще, и подумал, что может быть полезно "закрыть это". Свойство Microsoft.SharePoint.WebPartPages.WebPart, которое Роб искал (и, вероятно, давно обнаружил), является свойством StorageKey .

1 голос
/ 14 апреля 2010

Просто из любопытства, вы пробовали использовать веб-части как Microsoft.SharePoint.WebPartPages.WebPart и получить доступ к этому идентификатору?

(от http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webpartpages.webpart.id.aspx)

...