protected virtual IEnumerable <ScriptDescriptor> GetScriptDescriptors() { ScriptControlDescriptor descriptor = new ScriptControlDescriptor("Sys.Preview.UI.Controls.WebParts.WebPartZone", ClientID); descriptor.AddProperty("uniqueId", UniqueID); descriptor.AddComponentProperty("webPartManager", BaseWebPartManager.ClientID); descriptor.AddProperty("allowLayoutChange", AllowLayoutChange); yield return(descriptor); AtlasWebPartChrome chrome = new AtlasWebPartChrome(this, BaseWebPartManager); System.Web.UI.WebControls.WebParts.WebPartCollection webParts = WebParts; for (int i = 0; i < webParts.Count; i++) { System.Web.UI.WebControls.WebParts.WebPart webPart = webParts[i]; ScriptControlDescriptor wpDescriptor = new ScriptControlDescriptor("Sys.Preview.UI.Controls.WebParts.WebPart", chrome.GetWebPartChromeClientID(webPart)); // Only render titleElement in xml-script if the titleElement was actually rendered // in the HTML by WebPartChrome. System.Web.UI.WebControls.WebParts.PartChromeType effectiveChromeType = GetEffectiveChromeType(webPart); if (effectiveChromeType == System.Web.UI.WebControls.WebParts.PartChromeType.TitleOnly || effectiveChromeType == System.Web.UI.WebControls.WebParts.PartChromeType.TitleAndBorder) { wpDescriptor.AddElementProperty("titleElement", chrome.GetWebPartTitleClientID(webPart)); } wpDescriptor.AddComponentProperty("zone", ClientID); wpDescriptor.AddProperty("zoneIndex", i.ToString()); wpDescriptor.AddProperty("allowZoneChange", webPart.AllowZoneChange); yield return(wpDescriptor); } }
public virtual System.Web.UI.WebControls.WebParts.PartChromeType GetEffectiveChromeType(Part part) { if (part == null) { throw new ArgumentNullException("part"); } System.Web.UI.WebControls.WebParts.PartChromeType chromeType = part.ChromeType; if (chromeType != System.Web.UI.WebControls.WebParts.PartChromeType.Default) { return(chromeType); } System.Web.UI.WebControls.WebParts.PartChromeType partChromeType = this.PartChromeType; if (partChromeType == System.Web.UI.WebControls.WebParts.PartChromeType.Default) { return(System.Web.UI.WebControls.WebParts.PartChromeType.TitleAndBorder); } return(partChromeType); }