protected override void OnLoad(EventArgs e) { base.OnLoad(e); ArtisteerTreeView atv = Control as ArtisteerTreeView; if (atv != null) { useMenuTooltipForCustomCss = atv.UseMenuTooltipForCustomCss; } TreeView treeView = Control as TreeView; if (Extender.AdapterEnabled && _updateViewState && (treeView != null)) { treeView.CollapseAll(); ExpandToState(treeView.Nodes, _newViewState); _updateViewState = false; } }
protected override void RenderBeginTag(HtmlTextWriter writer) { if (Extender.AdapterEnabled) { //Extender.RenderBeginTag(writer, "AspNet-TreeView"); Extender.RenderBeginTag(writer, "art-vmenublock"); writer.Write("<div class=\"art-vmenublock-tl\"></div>"); writer.Write("<div class=\"art-vmenublock-tr\"></div>"); writer.Write("<div class=\"art-vmenublock-bl\"></div>"); writer.Write("<div class=\"art-vmenublock-br\"></div>"); writer.Write("<div class=\"art-vmenublock-tc\"></div>"); writer.Write("<div class=\"art-vmenublock-bc\"></div>"); writer.Write("<div class=\"art-vmenublock-cl\"></div>"); writer.Write("<div class=\"art-vmenublock-cr\"></div>"); writer.Write("<div class=\"art-vmenublock-cc\"></div>"); writer.Write("<div class=\"art-vmenublock-body\">"); ArtisteerTreeView treeView = Control as ArtisteerTreeView; if (treeView != null) { if ((treeView.RenderNavigationHeader) && (treeView.NavigationHeaderText.Length > 0)) { writer.Write("<div class=\"art-vmenublockheader\">"); writer.Write("<div class=\"t\">" + treeView.NavigationHeaderText + "</div>"); writer.Write("</div>"); } } writer.Write("<div class=\"art-vmenublockcontent\">"); writer.Write("<div class=\"art-vmenublockcontent-body\">"); } else { base.RenderBeginTag(writer); } }
private void RenderTreeView() { Page.EnableViewState = true; //pageMenu.Visible = false; PageSettings currentPage = CacheHelper.GetCurrentPage(); CTreeView treeMenu1; if (useArtisteer) { treeMenu1 = new ArtisteerTreeView(); } else { treeMenu1 = new CTreeView(); } this.menuPlaceHolder.Controls.Add(treeMenu1); treeMenu1.ShowExpandCollapse = treeViewShowExpandCollapse; if (treeViewShowExpandCollapse) { treeMenu1.EnableViewState = true; treeMenu1.TreeNodeExpanded += new TreeNodeEventHandler(treeMenu1_TreeNodeExpanded); } else { treeMenu1.EnableViewState = false; //treeMenu1.EnableClientScript = true; } //treeMenu1.EnableClientScript = false; //treeMenu1.ShowExpandCollapse = treeViewShowExpandCollapse; treeMenu1.PopulateNodesFromClient = treeViewPopulateOnDemand; treeMenu1.ExpandDepth = treeViewExpandDepth; //treeMenu1.TreeNodePopulate += new TreeNodeEventHandler(treeMenu1_TreeNodePopulate); treeMenu1.TreeNodeDataBound += new TreeNodeEventHandler(treeMenu1_TreeNodeDataBound); treeMenu1.CollapseImageToolTip = Resource.TreeMenuCollapseTooltip; treeMenu1.ExpandImageToolTip = Resource.TreeMenuExpandTooltip; //// 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"); // } //} //bool useFolderForSiteDetection // = WebConfigSettings.UseFoldersInsteadOfHostnamesForMultipleSites; //string virtualFolder = VirtualFolderEvaluator.VirtualFolderName(); if (isSubMenu) { if ( (currentPage != null) && (currentPage.ParentId == -1) ) { if ( (currentPage.UseUrl) && (currentPage.Url.Length > 0) ) { pageMapDataSource.StartingNodeUrl = currentPage.Url; } else { String pageUrl = "~/Default.aspx?pageid=" + currentPage.PageId.ToString(CultureInfo.InvariantCulture); pageMapDataSource.StartingNodeUrl = pageUrl; } } else { //pageMapDataSource.StartingNodeUrl // = SiteUtils.GetTopParentUrlForPageMenu(pageMapDataSource.Provider.RootNode); pageMapDataSource.StartingNodeUrl = SiteUtils.GetStartUrlForPageMenu(pageMapDataSource.Provider.RootNode, startingNodeOffset); } } if (Page.IsPostBack) { // return if menu already bound if (treeMenu1.Nodes.Count > 0) { return; } } if (startingNodeOffset > (currentPageDepth + 1)) { this.Visible = false; return; } //if (startingNodeOffset > 0) //{ // pageMapDataSource.StartingNodeOffset = startingNodeOffset; //} //if (treeViewExpandDepth > 0) //{ // treeMenu1.ExpandDepth = treeViewExpandDepth; //} //treeViewPopulateOnDemand = false; //treeMenu1.PopulateNodesFromClient = treeViewPopulateOnDemand; treeMenu1.PathSeparator = '|'; treeMenu1.DataSourceID = pageMapDataSource.ID; try { treeMenu1.DataBind(); } catch (ArgumentException ex) { log.Error(ex); } if (treeMenu1.SelectedNode != null) { CTreeView.ExpandToValuePath(treeMenu1, treeMenu1.SelectedNode.ValuePath); } else { //bool didSelect = false; String 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); } } } CTreeView.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; } }