我正在尝试发布一些jQuery和其他Javascript来隐藏和显示页面上的WebParts。我想做的是找到两件事之一:
我使用以下代码查看了我要影响的区域中的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中的一个?
答案 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 属性。