private SiteMapNodeItem CreateItem(int itemIndex, SiteMapNodeItemType itemType, SiteMapNode node) { SiteMapNodeItem item = new SiteMapNodeItem(itemIndex, itemType); int index = (PathDirection == PathDirection.CurrentToRoot ? 0 : -1); SiteMapNodeItemEventArgs e = new SiteMapNodeItemEventArgs(item); //Add sitemap nodes so that they are accessible during events. item.SiteMapNode = node; InitializeItem(item); // Notify items OnItemCreated(e); // Add items based on PathDirection. Controls.AddAt(index, item); // Databind. item.DataBind(); // Notify items. OnItemDataBound(e); item.SiteMapNode = null; // SiteMapNodeItem is dynamically created each time, don't track viewstate. item.EnableViewState = false; return(item); }
private SiteMapNodeItem CreateItem(int itemIndex, SiteMapNodeItemType itemType, SiteMapNode node) { SiteMapNodeItem item = new SiteMapNodeItem(itemIndex, itemType); int index = (this.PathDirection == System.Web.UI.WebControls.PathDirection.CurrentToRoot) ? 0 : -1; SiteMapNodeItemEventArgs e = new SiteMapNodeItemEventArgs(item); item.SiteMapNode = node; this.InitializeItem(item); this.OnItemCreated(e); this.Controls.AddAt(index, item); item.DataBind(); this.OnItemDataBound(e); item.SiteMapNode = null; item.EnableViewState = false; return(item); }
//[Obsolete] //private void CreateControlHierarchyRecursive(ref int index, SiteMapNode node, int parentLevels) //{ // if (parentLevels != 0) // { // SiteMapNode parentNode = node.ParentNode; // if (parentNode != null) // { // this.CreateControlHierarchyRecursive(ref index, parentNode, parentLevels - 1); // this.CreateItem(index++, SiteMapNodeItemType.Parent, node); // } // else // { // this.CreateItem(index++, SiteMapNodeItemType.Root, node); // } // } //} private ResSiteMapNodeItem CreateItem(int itemIndex, Control container, SiteMapNodeItemType itemType, SiteMapNode node) { ResSiteMapNodeItem item = new ResSiteMapNodeItem(itemIndex, itemType); int index = -1; SiteMapNodeItemEventArgs e = new SiteMapNodeItemEventArgs(item); item.SiteMapNode = node; this.InitializeItem(item); this.OnItemCreated(e); container.Controls.AddAt(index, item); item.DataBind(); this.OnItemDataBound(e); item.SiteMapNode = null; item.EnableViewState = false; return(item); }
private void AddNodesToContainerHierarchyRecursive(SiteMapNodeCollection nodes, SiteMapNode currentNode, Control container) { int i = 0; foreach (SiteMapNode node in nodes) { SiteMapNodeItemType type = SiteMapNodeItemType.Parent; if (node == currentNode) { type = SiteMapNodeItemType.Current; } var item = this.CreateItem(i++, container, type, node); if (node.HasChildNodes) { HtmlGenericControl ul = new HtmlGenericControl("ul"); ul.Attributes["class"] = "sidebar-submenu"; item.Controls.Add(ul); AddNodesToContainerHierarchyRecursive(Provider.GetChildNodes(node), currentNode, ul); } } }
private SiteMapNodeItem CreateItemFromCmsPathNode(int itemIndex, SiteMapNodeItemType itemType, CmsPathNode pathNode) { SiteMapNodeItem item1 = new SiteMapNodeItem(itemIndex, itemType); int num1 = (this.PathDirection == PathDirection.CurrentToRoot) ? 0 : -1; SiteMapNodeItemEventArgs args1 = new SiteMapNodeItemEventArgs(item1); if (pathNode != null) { string nodeUrl = string.Empty; switch (pathNode.NodeType) { case CatalogNodeType.Category: nodeUrl = "Default.aspx?CategoryId=" + pathNode.NodeId; break; case CatalogNodeType.Product: nodeUrl = "../products/editproduct.aspx?ProductId=" + pathNode.NodeId; break; case CatalogNodeType.Webpage: nodeUrl = "../webpages/editwebpage.aspx?WebpageId=" + pathNode.NodeId; break; case CatalogNodeType.Link: nodeUrl = "viewlink.aspx?LinkId=" + pathNode.NodeId; break; } SiteMapNode mapNode = new SiteMapNode(new XmlSiteMapProvider(), pathNode.NodeId.ToString(), nodeUrl, pathNode.Title, pathNode.Description); item1.SiteMapNode = mapNode; } this.InitializeItem(item1); this.OnItemCreated(args1); this.Controls.AddAt(num1, item1); item1.DataBind(); this.OnItemDataBound(args1); item1.SiteMapNode = null; item1.EnableViewState = false; return(item1); }
public SiteMapNodeItem (int itemIndex, SiteMapNodeItemType itemType) { }
protected internal virtual new void SetItemType (SiteMapNodeItemType itemType) { }
public mojoSiteMapNodeItem(int itemIndex, SiteMapNodeItemType itemType) : base(itemIndex, itemType) { }
protected internal virtual void SetItemType(SiteMapNodeItemType itemType) { this._itemType = itemType; }
protected internal virtual void SetItemType(SiteMapNodeItemType itemType) { this.itemType = itemType; }
protected virtual void InitializeItem(SiteMapNodeItem item) { ITemplate nodeTemplate = null; Style s = null; SiteMapNodeItemType itemType = item.ItemType; SiteMapNode siteMapNode = item.SiteMapNode; switch (itemType) { case SiteMapNodeItemType.Root: nodeTemplate = (this.RootNodeTemplate != null) ? this.RootNodeTemplate : this.NodeTemplate; s = this._mergedRootNodeStyle; break; case SiteMapNodeItemType.Parent: nodeTemplate = this.NodeTemplate; s = this._nodeStyle; break; case SiteMapNodeItemType.Current: nodeTemplate = (this.CurrentNodeTemplate != null) ? this.CurrentNodeTemplate : this.NodeTemplate; s = this._mergedCurrentNodeStyle; break; case SiteMapNodeItemType.PathSeparator: nodeTemplate = this.PathSeparatorTemplate; s = this._pathSeparatorStyle; break; } if (nodeTemplate == null) { if (itemType == SiteMapNodeItemType.PathSeparator) { Literal child = new Literal { Mode = LiteralMode.Encode, Text = this.PathSeparator }; item.Controls.Add(child); item.ApplyStyle(s); } else if ((itemType == SiteMapNodeItemType.Current) && !this.RenderCurrentNodeAsLink) { Literal literal2 = new Literal { Mode = LiteralMode.Encode, Text = siteMapNode.Title }; item.Controls.Add(literal2); item.ApplyStyle(s); } else { HyperLink link = new HyperLink(); if ((s != null) && s.IsSet(0x2000)) { link.Font.Underline = s.Font.Underline; } link.EnableTheming = false; link.Enabled = this.Enabled; if (siteMapNode.Url.StartsWith(@"\\", StringComparison.Ordinal)) { link.NavigateUrl = base.ResolveClientUrl(HttpUtility.UrlPathEncode(siteMapNode.Url)); } else { link.NavigateUrl = (this.Context != null) ? this.Context.Response.ApplyAppPathModifier(base.ResolveClientUrl(HttpUtility.UrlPathEncode(siteMapNode.Url))) : siteMapNode.Url; } link.Text = HttpUtility.HtmlEncode(siteMapNode.Title); if (this.ShowToolTips) { link.ToolTip = siteMapNode.Description; } item.Controls.Add(link); link.ApplyStyle(s); } } else { nodeTemplate.InstantiateIn(item); item.ApplyStyle(s); } }
private ResSiteMapNodeItem CreateItem(int itemIndex, SiteMapNodeItemType itemType, SiteMapNode node) { ResSiteMapNodeItem item = new ResSiteMapNodeItem(itemIndex, itemType); int index = (this.PathDirection == PathDirection.CurrentToRoot) ? 0 : -1; SiteMapNodeItemEventArgs e = new SiteMapNodeItemEventArgs(item); item.SiteMapNode = node; this.InitializeItem(item); this.OnItemCreated(e); this.Controls.AddAt(index, item); item.DataBind(); this.OnItemDataBound(e); item.SiteMapNode = null; item.EnableViewState = false; return item; }
public SiteMapNodeItem(int itemIndex, SiteMapNodeItemType itemType) { }
protected internal virtual new void SetItemType(SiteMapNodeItemType itemType) { }
protected virtual void InitializeItem(ResSiteMapNodeItem item) { ITemplate nodeTemplate = null; SiteMapNodeItemType itemType = item.ItemType; SiteMapNode siteMapNode = item.SiteMapNode; switch (itemType) { case SiteMapNodeItemType.Root: nodeTemplate = (this.RootNodeTemplate != null) ? this.RootNodeTemplate : this.NodeTemplate; break; case SiteMapNodeItemType.Parent: nodeTemplate = this.NodeTemplate; break; case SiteMapNodeItemType.Current: nodeTemplate = (this.CurrentNodeTemplate != null) ? this.CurrentNodeTemplate : this.NodeTemplate; break; } if (nodeTemplate == null) { if (itemType != SiteMapNodeItemType.PathSeparator) { if (itemType == SiteMapNodeItemType.Current) { item.Attributes["class"] = "active"; } if ((itemType == SiteMapNodeItemType.Current) && !this.RenderCurrentNodeAsLink) { Literal literal2 = new Literal { Mode = LiteralMode.Encode, Text = siteMapNode.Title }; item.Controls.Add(literal2); } else { if (itemType == SiteMapNodeItemType.Root) { item.Controls.Add(new LiteralControl("<i class=\"icon-home\"></i> ")); } HyperLink link = new HyperLink(); link.EnableTheming = false; link.Enabled = this.Enabled; if (string.IsNullOrEmpty(siteMapNode.Url)) { link.NavigateUrl = "javascript:void(0);"; link.Enabled = false; } else if (siteMapNode.Url.StartsWith(@"\\", StringComparison.Ordinal)) { link.NavigateUrl = base.ResolveClientUrl(HttpUtility.UrlPathEncode(siteMapNode.Url)); } else { link.NavigateUrl = (this.Context != null) ? this.Context.Response.ApplyAppPathModifier(base.ResolveClientUrl(HttpUtility.UrlPathEncode(siteMapNode.Url))) : siteMapNode.Url; } link.Text = HttpUtility.HtmlEncode(siteMapNode.Title); if (this.ShowToolTips) { link.ToolTip = siteMapNode.Description; } item.Controls.Add(link); } } } else { nodeTemplate.InstantiateIn(item); } }
/// <devdoc> /// <para>A protected method. Populates iteratively the specified <see cref='System.Web.UI.WebControls.SiteMapNodeItem'/> with a /// sub-hierarchy of child controls.</para> /// </devdoc> protected virtual void InitializeItem(SiteMapNodeItem item) { Debug.Assert(_mergedCurrentNodeStyle != null && _mergedRootNodeStyle != null); ITemplate template = null; Style style = null; SiteMapNodeItemType itemType = item.ItemType; SiteMapNode node = item.SiteMapNode; switch (itemType) { case SiteMapNodeItemType.Root: template = RootNodeTemplate != null ? RootNodeTemplate : NodeTemplate; style = _mergedRootNodeStyle; break; case SiteMapNodeItemType.Parent: template = NodeTemplate; style = _nodeStyle; break; case SiteMapNodeItemType.Current: template = CurrentNodeTemplate != null ? CurrentNodeTemplate : NodeTemplate; style = _mergedCurrentNodeStyle; break; case SiteMapNodeItemType.PathSeparator: template = PathSeparatorTemplate; style = _pathSeparatorStyle; break; } if (template == null) { if (itemType == SiteMapNodeItemType.PathSeparator) { Literal separatorLiteral = new Literal(); separatorLiteral.Mode = LiteralMode.Encode; separatorLiteral.Text = PathSeparator; item.Controls.Add(separatorLiteral); item.ApplyStyle(style); } else if (itemType == SiteMapNodeItemType.Current && !RenderCurrentNodeAsLink) { Literal currentNodeLiteral = new Literal(); currentNodeLiteral.Mode = LiteralMode.Encode; currentNodeLiteral.Text = node.Title; item.Controls.Add(currentNodeLiteral); item.ApplyStyle(style); } else { HyperLink link = new HyperLink(); if (style != null && style.IsSet(System.Web.UI.WebControls.Style.PROP_FONT_UNDERLINE)) { link.Font.Underline = style.Font.Underline; } link.EnableTheming = false; link.Enabled = this.Enabled; // VSWhidbey 281869 Don't modify input when url pointing to unc share if (node.Url.StartsWith("\\\\", StringComparison.Ordinal)) { link.NavigateUrl = ResolveClientUrl(HttpUtility.UrlPathEncode(node.Url)); } else { link.NavigateUrl = Context != null? Context.Response.ApplyAppPathModifier(ResolveClientUrl(HttpUtility.UrlPathEncode(node.Url))) : node.Url; } link.Text = HttpUtility.HtmlEncode(node.Title); if (ShowToolTips) { link.ToolTip = node.Description; } item.Controls.Add(link); link.ApplyStyle(style); } } else { template.InstantiateIn(item); item.ApplyStyle(style); } }
protected virtual void InitializeItem(ResSiteMapNodeItem item) { ITemplate nodeTemplate = null; SiteMapNodeItemType itemType = item.ItemType; SiteMapNode siteMapNode = item.SiteMapNode; switch (itemType) { case SiteMapNodeItemType.Root: nodeTemplate = (this.RootNodeTemplate != null) ? this.RootNodeTemplate : this.NodeTemplate; break; case SiteMapNodeItemType.Parent: nodeTemplate = this.NodeTemplate; break; case SiteMapNodeItemType.Current: nodeTemplate = (this.CurrentNodeTemplate != null) ? this.CurrentNodeTemplate : this.NodeTemplate; break; } if (nodeTemplate == null) { if (itemType != SiteMapNodeItemType.PathSeparator) { HtmlGenericControl iconSpan = null; string iconCss = item.SiteMapNode["iconCss"]; if (string.IsNullOrEmpty(iconCss) == false) { iconSpan = new HtmlGenericControl("span"); iconSpan.Attributes["class"] = iconCss; } HyperLink link = new HyperLink(); item.Attributes["class"] = "list-group-item"; if (itemType == SiteMapNodeItemType.Current) { item.Attributes["class"] += " active"; } link.EnableTheming = false; link.Enabled = this.Enabled; if (string.IsNullOrEmpty(siteMapNode.Url)) { link.NavigateUrl = "javascript:void(0);"; } else { if (siteMapNode.Url.StartsWith(@"\\", StringComparison.Ordinal)) { link.NavigateUrl = base.ResolveClientUrl(HttpUtility.UrlPathEncode(siteMapNode.Url)); } else { link.NavigateUrl = (this.Context != null) ? this.Context.Response.ApplyAppPathModifier(base.ResolveClientUrl(HttpUtility.UrlPathEncode(siteMapNode.Url))) : siteMapNode.Url; } } if (iconSpan != null) { link.Controls.Add(iconSpan); link.Controls.Add(new LiteralControl(" ")); } HtmlGenericControl strong = new HtmlGenericControl("strong"); strong.InnerText = siteMapNode.Title; strong.Attributes["class"] = "menu-label"; link.Controls.Add(strong); if (this.ShowToolTips) { link.ToolTip = siteMapNode.Description; } string badgeKey = item.SiteMapNode["badgeKey"]; if (string.IsNullOrEmpty(badgeKey) == false) { var span = new HtmlGenericControl("span"); span.Attributes["class"] = "badge"; span.Attributes["data-badgekey"] = badgeKey; link.Controls.Add(span); } if (item.SiteMapNode.HasChildNodes) { var b = new HtmlGenericControl("b"); b.Attributes["class"] = "arrow icon-angle-down"; link.Controls.Add(b); item.Attributes["role"] = "dropdown-toggle"; } string target = item.SiteMapNode["target"]; if (string.IsNullOrEmpty(target) == false) { link.Target = target; } item.Controls.Add(link); } } else { nodeTemplate.InstantiateIn(item); } }
/// <devdoc> /// <para>Initializes a new instance of the <see cref='System.Web.UI.WebControls.SiteMapNodeItem'/> class.</para> /// </devdoc> public SiteMapNodeItem(int itemIndex, SiteMapNodeItemType itemType) { this._itemIndex = itemIndex; this._itemType = itemType; }
public SiteMapNodeItem(int itemIndex, SiteMapNodeItemType itemType) { this.itemIndex = itemIndex; SetItemType(itemType); }
public SiteMapNodeItem (int itemIndex, SiteMapNodeItemType itemType) { this.itemIndex = itemIndex; SetItemType (itemType); }
public SiteMapNodeItem(int itemIndex, SiteMapNodeItemType itemType) { this._itemIndex = itemIndex; this._itemType = itemType; }
private SiteMapNodeItem CreateItem(int itemIndex, SiteMapNodeItemType itemType, SiteMapNode node) { SiteMapNodeItem item = new SiteMapNodeItem(itemIndex, itemType); int index = (PathDirection == PathDirection.CurrentToRoot ? 0 : -1); SiteMapNodeItemEventArgs e = new SiteMapNodeItemEventArgs(item); //Add sitemap nodes so that they are accessible during events. item.SiteMapNode = node; InitializeItem(item); // Notify items OnItemCreated(e); // Add items based on PathDirection. Controls.AddAt(index, item); // Databind. item.DataBind(); // Notify items. OnItemDataBound(e); item.SiteMapNode = null; // SiteMapNodeItem is dynamically created each time, don't track viewstate. item.EnableViewState = false; return item; }
//[Obsolete] //private void CreateControlHierarchyRecursive(ref int index, SiteMapNode node, int parentLevels) //{ // if (parentLevels != 0) // { // SiteMapNode parentNode = node.ParentNode; // if (parentNode != null) // { // this.CreateControlHierarchyRecursive(ref index, parentNode, parentLevels - 1); // this.CreateItem(index++, SiteMapNodeItemType.Parent, node); // } // else // { // this.CreateItem(index++, SiteMapNodeItemType.Root, node); // } // } //} private ResSiteMapNodeItem CreateItem(int itemIndex, Control container, SiteMapNodeItemType itemType, SiteMapNode node) { ResSiteMapNodeItem item = new ResSiteMapNodeItem(itemIndex, itemType); int index = -1; SiteMapNodeItemEventArgs e = new SiteMapNodeItemEventArgs(item); item.SiteMapNode = node; this.InitializeItem(item); this.OnItemCreated(e); container.Controls.AddAt(index, item); item.DataBind(); this.OnItemDataBound(e); item.SiteMapNode = null; item.EnableViewState = false; return item; }