private void RenderTreeView() { #if NET35 if (WebConfigSettings.DisablePageViewStateByDefault) {Page.EnableViewState = true; } #endif //menu1.Visible = false; mojoTreeView treeMenu1; if (useArtisteer) { treeMenu1 = new ArtisteerTreeView(); treeMenu1.EnableViewState = false; treeMenu1.ShowExpandCollapse = false; } else { treeMenu1 = new mojoTreeView(); treeMenu1.UseDataRole = useDataRole; treeMenu1.SuppressImages = suppressImages; if (treeViewShowExpandCollapse) { treeMenu1.EnableViewState = true; treeMenu1.ShowExpandCollapse = true; treeMenu1.TreeNodeExpanded += new TreeNodeEventHandler(treeMenu1_TreeNodeExpanded); } else { treeMenu1.ShowExpandCollapse = false; #if !NET35 //http://www.4guysfromrolla.com/articles/071410-1.aspx //optimize viewstate for .NET 4 this.ViewStateMode = ViewStateMode.Disabled; treeMenu1.ViewStateMode = ViewStateMode.Disabled; #endif } } treeMenu1.EnableTheming = true; treeMenu1.SkinID = menuSkinID; treeMenu1.UseMenuTooltipForCustomCss = useMenuTooltipForCustomCss; this.menuPlaceHolder.Controls.Add(treeMenu1); #if !MONO treeMenu1.PopulateNodesFromClient = treeViewPopulateOnDemand; #endif treeMenu1.CollapseImageToolTip = Resource.TreeMenuCollapseTooltip; treeMenu1.ExpandImageToolTip = Resource.TreeMenuExpandTooltip; treeMenu1.ExpandDepth = 0; //treeMenu1.TreeNodePopulate += new TreeNodeEventHandler(treeMenu1_TreeNodePopulate); treeMenu1.TreeNodeDataBound += new TreeNodeEventHandler(treeMenu1_TreeNodeDataBound); //older skins have this StyleSheet stylesheet = (StyleSheet)Page.Master.FindControl("StyleSheet"); if (stylesheet != null) { if (stylesheet.FindControl("treeviewcss") == null) { Literal cssLink = new Literal(); cssLink.ID = "treeviewcss"; cssLink.Text = "\n<link href='" + SiteUtils.GetSkinBaseUrl(Page) + "styletreeview.css' type='text/css' rel='stylesheet' media='screen' />"; stylesheet.Controls.Add(cssLink); log.Debug("added stylesheet for treeiew"); } } treeMenu1.ExpandDepth = treeViewExpandDepth; //log.Debug("set ExpandDepth to " + treeViewExpandDepth.ToString(CultureInfo.InvariantCulture)); if (Page.IsPostBack) { // return if menu already bound if(treeMenu1.Nodes.Count > 0) return; } treeMenu1.PathSeparator = '|'; treeMenu1.DataSourceID = this.siteMapDataSource.ID; try { treeMenu1.DataBind(); } catch (ArgumentException ex) { log.Error(ex); } if ( (treeMenu1.SelectedNode != null) &&(!suppressPageSelection) ) { mojoTreeView.ExpandToValuePath(treeMenu1, treeMenu1.SelectedNode.ValuePath); log.Debug("called mojoTreeview.ExpandToValuePath for selectednode value path: " + treeMenu1.SelectedNode.ValuePath); } else { bool didSelect = false; if (!suppressPageSelection) { String valuePath = SiteUtils.GetActivePageValuePath(siteMapDataSource.Provider.RootNode, startingNodeOffset, Request.RawUrl); mojoTreeView.ExpandToValuePath(treeMenu1, valuePath); log.Debug("called mojoTreeview.ExpandToValuePath for value path: " + valuePath); TreeNode nodeToSelect = treeMenu1.FindNode(valuePath); if (nodeToSelect != null) { try { nodeToSelect.Selected = true; didSelect = true; log.Debug("selected node " + nodeToSelect.Text); } catch (InvalidOperationException) { //can happen if node disabled or unselectable } } if (!didSelect) { valuePath = SiteUtils.GetActivePageValuePath(siteMapDataSource.Provider.RootNode, startingNodeOffset); mojoTreeView.ExpandToValuePath(treeMenu1, valuePath); log.Debug("called mojoTreeview.ExpandToValuePath for value path: " + valuePath); if (valuePath.Length > 0) { nodeToSelect = treeMenu1.FindNode(valuePath); if (nodeToSelect != null) { try { nodeToSelect.Selected = true; didSelect = true; log.Debug("selected node " + nodeToSelect.Text); } catch (InvalidOperationException) { //can happen if node disabled or unselectable } } } } if (!didSelect) { if ((currentPage != null)&&(currentPage.Url.Length > 0)) { string u = currentPage.Url.Replace("~/", "/"); valuePath = SiteUtils.GetActivePageValuePath(siteMapDataSource.Provider.RootNode, startingNodeOffset, u); mojoTreeView.ExpandToValuePath(treeMenu1, valuePath); nodeToSelect = treeMenu1.FindNode(valuePath); if (nodeToSelect != null) { try { nodeToSelect.Selected = true; didSelect = true; log.Debug("selected node " + nodeToSelect.Text); } catch (InvalidOperationException) { //can happen if node disabled or unselectable } } } } if (!didSelect) { valuePath = SiteUtils.GetActivePageValuePath(siteMapDataSource.Provider.RootNode, startingNodeOffset); if(valuePath.IndexOf(treeMenu1.PathSeparator) > -1) { valuePath = valuePath.Substring(0, (valuePath.IndexOf(treeMenu1.PathSeparator))); nodeToSelect = treeMenu1.FindNode(valuePath); if (nodeToSelect != null) { try { nodeToSelect.Selected = true; didSelect = true; log.Debug("selected node " + nodeToSelect.Text); } catch (InvalidOperationException) { //can happen if node disabled or unselectable } } } } } } }
private void RenderTreeView() { #if NET35 if (WebConfigSettings.DisablePageViewStateByDefault) { Page.EnableViewState = true; } #endif //menu1.Visible = false; mojoTreeView treeMenu1; if (useArtisteer) { treeMenu1 = new ArtisteerTreeView(); treeMenu1.EnableViewState = false; treeMenu1.ShowExpandCollapse = false; } else { treeMenu1 = new mojoTreeView(); treeMenu1.UseDataRole = useDataRole; treeMenu1.SuppressImages = suppressImages; if (treeViewShowExpandCollapse) { treeMenu1.EnableViewState = true; treeMenu1.ShowExpandCollapse = true; treeMenu1.TreeNodeExpanded += new TreeNodeEventHandler(treeMenu1_TreeNodeExpanded); } else { treeMenu1.ShowExpandCollapse = false; #if !NET35 //http://www.4guysfromrolla.com/articles/071410-1.aspx //optimize viewstate for .NET 4 this.ViewStateMode = ViewStateMode.Disabled; treeMenu1.ViewStateMode = ViewStateMode.Disabled; #endif } } treeMenu1.EnableTheming = true; treeMenu1.SkinID = menuSkinID; treeMenu1.UseMenuTooltipForCustomCss = useMenuTooltipForCustomCss; this.menuPlaceHolder.Controls.Add(treeMenu1); #if !MONO treeMenu1.PopulateNodesFromClient = treeViewPopulateOnDemand; #endif treeMenu1.CollapseImageToolTip = Resource.TreeMenuCollapseTooltip; treeMenu1.ExpandImageToolTip = Resource.TreeMenuExpandTooltip; treeMenu1.ExpandDepth = 0; //treeMenu1.TreeNodePopulate += new TreeNodeEventHandler(treeMenu1_TreeNodePopulate); treeMenu1.TreeNodeDataBound += new TreeNodeEventHandler(treeMenu1_TreeNodeDataBound); //older skins have this StyleSheet stylesheet = (StyleSheet)Page.Master.FindControl("StyleSheet"); if (stylesheet != null) { if (stylesheet.FindControl("treeviewcss") == null) { Literal cssLink = new Literal(); cssLink.ID = "treeviewcss"; cssLink.Text = "\n<link href='" + SiteUtils.GetSkinBaseUrl(Page) + "styletreeview.css' type='text/css' rel='stylesheet' media='screen' />"; stylesheet.Controls.Add(cssLink); log.Debug("added stylesheet for treeiew"); } } treeMenu1.ExpandDepth = treeViewExpandDepth; //log.Debug("set ExpandDepth to " + treeViewExpandDepth.ToString(CultureInfo.InvariantCulture)); if (Page.IsPostBack) { // return if menu already bound if (treeMenu1.Nodes.Count > 0) { return; } } treeMenu1.PathSeparator = '|'; treeMenu1.DataSourceID = this.siteMapDataSource.ID; try { treeMenu1.DataBind(); } catch (ArgumentException ex) { log.Error(ex); } if ( (treeMenu1.SelectedNode != null) && (!suppressPageSelection) ) { mojoTreeView.ExpandToValuePath(treeMenu1, treeMenu1.SelectedNode.ValuePath); log.Debug("called mojoTreeview.ExpandToValuePath for selectednode value path: " + treeMenu1.SelectedNode.ValuePath); } else { bool didSelect = false; if (!suppressPageSelection) { String valuePath = SiteUtils.GetActivePageValuePath(siteMapDataSource.Provider.RootNode, startingNodeOffset, Request.RawUrl); mojoTreeView.ExpandToValuePath(treeMenu1, valuePath); log.Debug("called mojoTreeview.ExpandToValuePath for value path: " + valuePath); TreeNode nodeToSelect = treeMenu1.FindNode(valuePath); if (nodeToSelect != null) { try { nodeToSelect.Selected = true; didSelect = true; log.Debug("selected node " + nodeToSelect.Text); } catch (InvalidOperationException) { //can happen if node disabled or unselectable } } if (!didSelect) { valuePath = SiteUtils.GetActivePageValuePath(siteMapDataSource.Provider.RootNode, startingNodeOffset); mojoTreeView.ExpandToValuePath(treeMenu1, valuePath); log.Debug("called mojoTreeview.ExpandToValuePath for value path: " + valuePath); if (valuePath.Length > 0) { nodeToSelect = treeMenu1.FindNode(valuePath); if (nodeToSelect != null) { try { nodeToSelect.Selected = true; didSelect = true; log.Debug("selected node " + nodeToSelect.Text); } catch (InvalidOperationException) { //can happen if node disabled or unselectable } } } } if (!didSelect) { if ((currentPage != null) && (currentPage.Url.Length > 0)) { string u = currentPage.Url.Replace("~/", "/"); valuePath = SiteUtils.GetActivePageValuePath(siteMapDataSource.Provider.RootNode, startingNodeOffset, u); mojoTreeView.ExpandToValuePath(treeMenu1, valuePath); nodeToSelect = treeMenu1.FindNode(valuePath); if (nodeToSelect != null) { try { nodeToSelect.Selected = true; didSelect = true; log.Debug("selected node " + nodeToSelect.Text); } catch (InvalidOperationException) { //can happen if node disabled or unselectable } } } } if (!didSelect) { valuePath = SiteUtils.GetActivePageValuePath(siteMapDataSource.Provider.RootNode, startingNodeOffset); if (valuePath.IndexOf(treeMenu1.PathSeparator) > -1) { valuePath = valuePath.Substring(0, (valuePath.IndexOf(treeMenu1.PathSeparator))); nodeToSelect = treeMenu1.FindNode(valuePath); if (nodeToSelect != null) { try { nodeToSelect.Selected = true; didSelect = true; log.Debug("selected node " + nodeToSelect.Text); } catch (InvalidOperationException) { //can happen if node disabled or unselectable } } } } } } }
private void RenderTreeView() { #if NET35 if (WebConfigSettings.DisablePageViewStateByDefault) { Page.EnableViewState = true; } #endif if (currentPage == null) { currentPage = CacheHelper.GetCurrentPage(); } mojoTreeView treeMenu1; if (useArtisteer) { treeMenu1 = new ArtisteerTreeView(); } else { treeMenu1 = new mojoTreeView(); } treeMenu1.EnableTheming = true; treeMenu1.SkinID = menuSkinID; treeMenu1.ShowExpandCollapse = treeViewShowExpandCollapse; treeMenu1.UseMenuTooltipForCustomCss = useMenuTooltipForCustomCss; if (treeViewShowExpandCollapse) { treeMenu1.ShowExpandCollapse = true; treeMenu1.EnableViewState = true; treeMenu1.TreeNodeExpanded += new TreeNodeEventHandler(treeMenu1_TreeNodeExpanded); //this.EnableViewState = false; } else { treeMenu1.ShowExpandCollapse = false; treeMenu1.EnableViewState = false; this.EnableViewState = false; } treeMenu1.PopulateNodesFromClient = treeViewPopulateOnDemand; treeMenu1.ExpandDepth = treeViewExpandDepth; treeMenu1.TreeNodeDataBound += new TreeNodeEventHandler(treeMenu1_TreeNodeDataBound); treeMenu1.CollapseImageToolTip = Resource.TreeMenuCollapseTooltip; treeMenu1.ExpandImageToolTip = Resource.TreeMenuExpandTooltip; this.menuPlaceHolder.Controls.Add(treeMenu1); if (isSubMenu) { if ( (currentPage != null) && (currentPage.ParentId == -1) ) { if ( (currentPage.UseUrl) && (currentPage.Url.Length > 0) && (WebConfigSettings.UseUrlReWriting) ) { pageMapDataSource.StartingNodeUrl = currentPage.Url; } else { pageMapDataSource.StartingNodeUrl = "~/Default.aspx?pageid=" + currentPage.PageId.ToInvariantString(); } } else { pageMapDataSource.StartingNodeUrl = SiteUtils.GetStartUrlForPageMenu(pageMapDataSource.Provider.RootNode, startingNodeOffset); } } if (startingNodeUrl.Length > 0) { pageMapDataSource.StartingNodeUrl = startingNodeUrl; } if (Page.IsPostBack) { // return if menu already bound if (treeMenu1.Nodes.Count > 0) { return; } } if (startingNodeOffset > (currentPageDepth + 1)) { this.Visible = false; return; } treeMenu1.PathSeparator = '|'; treeMenu1.DataSourceID = pageMapDataSource.ID; try { treeMenu1.DataBind(); } catch (ArgumentException ex) { log.Error(ex); } if (treeMenu1.SelectedNode != null) { mojoTreeView.ExpandToValuePath(treeMenu1, treeMenu1.SelectedNode.ValuePath); } else { //bool didSelect = false; String valuePath = string.Empty; if (isSubMenu) { valuePath = SiteUtils.GetPageMenuActivePageValuePath(pageMapDataSource.Provider.RootNode); if (startingNodeOffset > 0) { for (int i = 1; i <= startingNodeOffset; i++) { if (valuePath.IndexOf("|") > -1) { valuePath = valuePath.Remove(0, valuePath.IndexOf("|") + 1); } } } } else { valuePath = SiteUtils.GetActivePageValuePath(pageMapDataSource.Provider.RootNode, startingNodeOffset, Request.RawUrl); } mojoTreeView.ExpandToValuePath(treeMenu1, valuePath); TreeNode nodeToSelect = treeMenu1.FindNode(valuePath); if (nodeToSelect == null) { nodeToSelect = treeMenu1.FindNode(currentPage.PageName); } if (nodeToSelect != null) { try { nodeToSelect.Selected = true; //didSelect = true; } catch (InvalidOperationException) { //can happen if node disabled or unselectable } } } if (treeMenu1.Nodes.Count == 0) { this.Visible = false; } }
private void RenderTreeView() { #if NET35 if (WebConfigSettings.DisablePageViewStateByDefault) { Page.EnableViewState = true; } #endif if (currentPage == null) { currentPage = CacheHelper.GetCurrentPage(); } mojoTreeView treeMenu1; if (useArtisteer) { treeMenu1 = new ArtisteerTreeView(); } else { treeMenu1 = new mojoTreeView(); } treeMenu1.EnableTheming = true; treeMenu1.SkinID = menuSkinID; treeMenu1.ShowExpandCollapse = treeViewShowExpandCollapse; treeMenu1.UseMenuTooltipForCustomCss = useMenuTooltipForCustomCss; if (treeViewShowExpandCollapse) { treeMenu1.ShowExpandCollapse = true; treeMenu1.EnableViewState = true; treeMenu1.TreeNodeExpanded += new TreeNodeEventHandler(treeMenu1_TreeNodeExpanded); //this.EnableViewState = false; } else { treeMenu1.ShowExpandCollapse = false; treeMenu1.EnableViewState = false; this.EnableViewState = false; } treeMenu1.PopulateNodesFromClient = treeViewPopulateOnDemand; treeMenu1.ExpandDepth = treeViewExpandDepth; treeMenu1.TreeNodeDataBound += new TreeNodeEventHandler(treeMenu1_TreeNodeDataBound); treeMenu1.CollapseImageToolTip = Resource.TreeMenuCollapseTooltip; treeMenu1.ExpandImageToolTip = Resource.TreeMenuExpandTooltip; this.menuPlaceHolder.Controls.Add(treeMenu1); if (isSubMenu) { if ( (currentPage != null) && (currentPage.ParentId == -1) ) { if ( (currentPage.UseUrl) && (currentPage.Url.Length > 0) &&(WebConfigSettings.UseUrlReWriting) ) { pageMapDataSource.StartingNodeUrl = currentPage.Url; } else { pageMapDataSource.StartingNodeUrl = "~/Default.aspx?pageid=" + currentPage.PageId.ToInvariantString(); } } else { pageMapDataSource.StartingNodeUrl = SiteUtils.GetStartUrlForPageMenu(pageMapDataSource.Provider.RootNode, startingNodeOffset); } } if (startingNodeUrl.Length > 0) { pageMapDataSource.StartingNodeUrl = startingNodeUrl; } if (Page.IsPostBack) { // return if menu already bound if (treeMenu1.Nodes.Count > 0) return; } if (startingNodeOffset > (currentPageDepth + 1)) { this.Visible = false; return; } treeMenu1.PathSeparator = '|'; treeMenu1.DataSourceID = pageMapDataSource.ID; try { treeMenu1.DataBind(); } catch (ArgumentException ex) { log.Error(ex); } if (treeMenu1.SelectedNode != null) { mojoTreeView.ExpandToValuePath(treeMenu1, treeMenu1.SelectedNode.ValuePath); } else { //bool didSelect = false; String valuePath = string.Empty; if (isSubMenu) { valuePath = SiteUtils.GetPageMenuActivePageValuePath(pageMapDataSource.Provider.RootNode); if (startingNodeOffset > 0) { for (int i = 1; i <= startingNodeOffset; i++) { if (valuePath.IndexOf("|") > -1) { valuePath = valuePath.Remove(0, valuePath.IndexOf("|") + 1); } } } } else { valuePath = SiteUtils.GetActivePageValuePath(pageMapDataSource.Provider.RootNode, startingNodeOffset, Request.RawUrl); } mojoTreeView.ExpandToValuePath(treeMenu1, valuePath); TreeNode nodeToSelect = treeMenu1.FindNode(valuePath); if (nodeToSelect == null) { nodeToSelect = treeMenu1.FindNode(currentPage.PageName); } if (nodeToSelect != null) { try { nodeToSelect.Selected = true; //didSelect = true; } catch (InvalidOperationException) { //can happen if node disabled or unselectable } } } if (treeMenu1.Nodes.Count == 0) this.Visible = false; }