/// <include file='doc\AdRotatorDesigner.uex' path='docs/doc[@for="AdRotatorDesigner.GetDesignTimeHtml"]/*' /> /// <devdoc> /// <para> /// Returns the design-time HTML of the <see cref='System.Web.UI.WebControls.AdRotator'/> /// web control /// </para> /// </devdoc> public override string GetDesignTimeHtml() { AdRotator adRotator = (AdRotator)Component; StringWriter sw = new StringWriter(); HtmlTextWriter tw = new HtmlTextWriter(sw); // we want to put some properties on the link, and some on the image, so we // create temporary objects for rendinger and distribute the properties. HyperLink bannerLink = new HyperLink(); bannerLink.ID = adRotator.ID; bannerLink.NavigateUrl = ""; bannerLink.Target = adRotator.Target; bannerLink.AccessKey = adRotator.AccessKey; bannerLink.Enabled = adRotator.Enabled; bannerLink.TabIndex = adRotator.TabIndex; bannerLink.RenderBeginTag(tw); Image bannerImage = new Image(); // apply style copies most style-related properties bannerImage.ApplyStyle(adRotator.ControlStyle); bannerImage.ImageUrl = ""; bannerImage.AlternateText = adRotator.ID; bannerImage.ToolTip = adRotator.ToolTip; bannerImage.RenderControl(tw); bannerLink.RenderEndTag(tw); return(sw.ToString()); }
public override string GetDesignTimeHtml() { AdRotator viewControl = (AdRotator)base.ViewControl; StringWriter writer = new StringWriter(CultureInfo.CurrentCulture); DesignTimeHtmlTextWriter writer2 = new DesignTimeHtmlTextWriter(writer); HyperLink link = new HyperLink { ID = viewControl.ID, NavigateUrl = "", Target = viewControl.Target, AccessKey = viewControl.AccessKey, Enabled = viewControl.Enabled, TabIndex = viewControl.TabIndex }; link.Style.Value = viewControl.Style.Value; link.RenderBeginTag(writer2); Image image = new Image(); image.ApplyStyle(viewControl.ControlStyle); image.ImageUrl = ""; image.AlternateText = viewControl.ID; image.ToolTip = viewControl.ToolTip; image.RenderControl(writer2); link.RenderEndTag(writer2); return(writer.ToString()); }
protected override void Render(HtmlTextWriter writer) { HyperLink hl = this.Control as HyperLink; if (hl == null) { base.Render(writer); return; } // This code is copied from HyperLink.RenderContents (using // Reflector). References to "this" have been changed to // "hl", and we have to render the begin and end tags. string imageUrl = hl.ImageUrl; if (imageUrl.Length > 0) { // Let the HyperLink render its begin tag hl.RenderBeginTag(writer); Image image = new Image(); // I think the next line is the bug. The URL gets // resolved here, but the Image.UrlResolved property // doesn't get set. So another attempt to resolve the // URL is made in Image.AddAttributesToRender. It's in // the callstack above that method that the exception // or improperly resolved URL happens. //image.ImageUrl = base.ResolveClientUrl(imageUrl); image.ImageUrl = imageUrl; imageUrl = hl.ToolTip; if (imageUrl.Length != 0) { image.ToolTip = imageUrl; } imageUrl = hl.Text; if (imageUrl.Length != 0) { image.AlternateText = imageUrl; } image.RenderControl(writer); // Wrap up by letting the HyperLink render its end tag hl.RenderEndTag(writer); } else { // HyperLink.RenderContents handles a couple of other // cases if its ImageUrl property hasn't been set. We // delegate to that behavior here. base.Render(writer); } }
/// <summary> /// /// </summary> /// <param name="writer"></param> /// <remarks> /// </remarks> /// <history> /// [jbrinkman] 5/6/2004 Created /// [Jon Henning] 11/28/2005 Added iscrawler logic /// </history> protected void RenderExpandNodeIcon(HtmlTextWriter writer) { if (_Node.HasNodes) { HyperLink _link = new HyperLink(); Image _image = new Image(); if (_Node.IsExpanded || _Node.DNNTree.IsCrawler) { _link.Text = _expcol[1]; if (_Node.DNNTree.ExpandedNodeImage.Length > 0) { _image.ImageUrl = _Node.DNNTree.ExpandedNodeImage; } } else { _link.Text = _expcol[0]; if (_Node.DNNTree.CollapsedNodeImage.Length > 0) { _image.ImageUrl = _Node.DNNTree.CollapsedNodeImage; } } //If _Node.PopulateOnDemand Then 'handled in postback handler // _link.NavigateUrl = ClientAPI.GetPostBackClientHyperlink(_Node.DNNTree, _Node.ID & ",OnDemand") //Else _link.NavigateUrl = ClientAPI.GetPostBackClientHyperlink(_Node.DNNTree, _Node.ID); //End If if (_image.ImageUrl.Length > 0) { _link.RenderBeginTag(writer); _image.RenderControl(writer); _link.RenderEndTag(writer); } else { _link.RenderControl(writer); } _image = null; _link = null; } else { RenderSpacer(writer, _Node.DNNTree.ExpandCollapseImageWidth); } writer.Write(" ", null); }
protected override void Render(HtmlTextWriter writer) { HyperLink hl = this.Control as HyperLink; if (hl == null) { base.Render(writer); return; } string imageUrl = hl.ImageUrl; if (imageUrl.Length > 0) { hl.RenderBeginTag(writer); Image image = new Image(); image.ImageUrl = imageUrl; imageUrl = hl.ToolTip; if (imageUrl.Length != 0) { image.ToolTip = imageUrl; } imageUrl = hl.Text; if (imageUrl.Length != 0) { image.AlternateText = imageUrl; } image.RenderControl(writer); hl.RenderEndTag(writer); } else { base.Render(writer); } }
/// <summary> /// Display Navigation Trail. /// </summary> /// <param name="writer"></param> /// <remarks></remarks> protected override void RenderContents(HtmlTextWriter writer) { if (writer == null) { throw new ArgumentNullException("writer", "writer cannot be a null reference (Nothing in Visual Basic)!"); } // Display the tabs int i = 0; for (i = 0; i <= mNavigationTrailTab.Count - 1; i++) { NavigationTrailTab objTab = (NavigationTrailTab)mNavigationTrailTab[i]; using (HyperLink hyperLink = new HyperLink()) { hyperLink.RenderBeginTag(writer); //hyperLink.CssClass = "NavigationTrail"; hyperLink.Text = objTab.Text; hyperLink.NavigateUrl = objTab.Action; hyperLink.ToolTip = objTab.ToolTip; hyperLink.RenderEndTag(writer); hyperLink.RenderControl(writer); } if (m_Orentation == Orientation.Horizontal) { if (i < mNavigationTrailTab.Count - 1) { writer.Write(" | "); } } else { if (i < mNavigationTrailTab.Count - 1) { writer.Write("<br/>"); } } } }
protected internal virtual void RenderItem(HtmlTextWriter writer, MenuItem item, int position) { bool flag4; string str6; Menu control = this.Control; MenuItemStyle menuItemStyle = control.GetMenuItemStyle(item); string imageUrl = item.ImageUrl; int depth = item.Depth; int num2 = depth + 1; string toolTip = item.ToolTip; string navigateUrl = item.NavigateUrl; string text = item.Text; bool isEnabled = item.IsEnabled; bool selectable = item.Selectable; MenuItemCollection childItems = item.ChildItems; string staticTopSeparatorImageUrl = null; if ((depth < control.StaticDisplayLevels) && (control.StaticTopSeparatorImageUrl.Length != 0)) { staticTopSeparatorImageUrl = control.StaticTopSeparatorImageUrl; } else if ((depth >= control.StaticDisplayLevels) && (control.DynamicTopSeparatorImageUrl.Length != 0)) { staticTopSeparatorImageUrl = control.DynamicTopSeparatorImageUrl; } if (staticTopSeparatorImageUrl != null) { new Image { ImageUrl = staticTopSeparatorImageUrl, GenerateEmptyAlternateText = true, Page = base.Page }.RenderControl(writer); this.RenderBreak(writer); } if (((menuItemStyle != null) && !menuItemStyle.ItemSpacing.IsEmpty) && ((this._titleItem != null) || (position != 0))) { this.RenderSpace(writer, menuItemStyle.ItemSpacing, control.Orientation); } Panel panel = new SpanPanel { Enabled = isEnabled, Page = base.Page }; if ((base.Page != null) && base.Page.SupportsStyleSheets) { string cssClassName = control.GetCssClassName(item, false); if (cssClassName.Trim().Length > 0) { panel.CssClass = cssClassName; } } else if (menuItemStyle != null) { panel.ApplyStyle(menuItemStyle); } if (item.ToolTip.Length != 0) { panel.ToolTip = item.ToolTip; } panel.RenderBeginTag(writer); bool flag3 = (((position != 0) && (childItems.Count != 0)) && (num2 >= control.StaticDisplayLevels)) && (num2 < control.MaximumDepth); if (((position != 0) && (depth > 0)) && ((control.StaticSubMenuIndent != Unit.Pixel(0)) && (depth < control.StaticDisplayLevels))) { Image image2 = new Image { ImageUrl = control.SpacerImageUrl, GenerateEmptyAlternateText = true }; double num3 = control.StaticSubMenuIndent.Value * depth; if (num3 < 32767.0) { image2.Width = new Unit(num3, control.StaticSubMenuIndent.Type); } else { image2.Width = new Unit(32767.0, control.StaticSubMenuIndent.Type); } image2.Height = Unit.Pixel(1); image2.Page = base.Page; image2.RenderControl(writer); } if ((imageUrl.Length > 0) && item.NotTemplated()) { Image image3 = new Image { ImageUrl = imageUrl }; if (toolTip.Length != 0) { image3.AlternateText = toolTip; } else { image3.GenerateEmptyAlternateText = true; } image3.Page = base.Page; image3.RenderControl(writer); writer.Write(' '); } if ((base.Page != null) && base.Page.SupportsStyleSheets) { str6 = control.GetCssClassName(item, true, out flag4); } else { str6 = string.Empty; flag4 = false; } if (isEnabled && (flag3 || selectable)) { string accessKey = control.AccessKey; string str8 = (((position == 0) || ((position == 1) && (depth == 0))) && (accessKey.Length != 0)) ? accessKey : null; if ((navigateUrl.Length > 0) && !flag3) { if (base.PageAdapter != null) { base.PageAdapter.RenderBeginHyperlink(writer, control.ResolveClientUrl(navigateUrl), true, System.Web.SR.GetString("Adapter_GoLabel"), (str8 != null) ? str8 : ((this._currentAccessKey < 10) ? this._currentAccessKey++.ToString(CultureInfo.InvariantCulture) : null)); writer.Write(HttpUtility.HtmlEncode(item.FormattedText)); base.PageAdapter.RenderEndHyperlink(writer); } else { HyperLink link = new HyperLink { NavigateUrl = control.ResolveClientUrl(navigateUrl) }; string target = item.Target; if (string.IsNullOrEmpty(target)) { target = control.Target; } if (!string.IsNullOrEmpty(target)) { link.Target = target; } link.AccessKey = str8; link.Page = base.Page; if (writer is Html32TextWriter) { link.RenderBeginTag(writer); SpanPanel panel2 = new SpanPanel { Page = base.Page }; this.RenderStyle(writer, panel2, str6, menuItemStyle, flag4); panel2.RenderBeginTag(writer); item.RenderText(writer); panel2.RenderEndTag(writer); link.RenderEndTag(writer); } else { this.RenderStyle(writer, link, str6, menuItemStyle, flag4); link.RenderBeginTag(writer); item.RenderText(writer); link.RenderEndTag(writer); } } } else if (base.PageAdapter != null) { base.PageAdapter.RenderPostBackEvent(writer, control.UniqueID, (flag3 ? 'o' : 'b') + this.Escape(item.InternalValuePath), System.Web.SR.GetString("Adapter_OKLabel"), item.FormattedText, null, (str8 != null) ? str8 : ((this._currentAccessKey < 10) ? this._currentAccessKey++.ToString(CultureInfo.InvariantCulture) : null)); if (flag3) { this.RenderExpand(writer, item, control); } } else { HyperLink link2 = new HyperLink { NavigateUrl = base.Page.ClientScript.GetPostBackClientHyperlink(control, (flag3 ? 'o' : 'b') + this.Escape(item.InternalValuePath), true), AccessKey = str8, Page = base.Page }; if (writer is Html32TextWriter) { link2.RenderBeginTag(writer); SpanPanel panel3 = new SpanPanel { Page = base.Page }; this.RenderStyle(writer, panel3, str6, menuItemStyle, flag4); panel3.RenderBeginTag(writer); item.RenderText(writer); if (flag3) { this.RenderExpand(writer, item, control); } panel3.RenderEndTag(writer); link2.RenderEndTag(writer); } else { this.RenderStyle(writer, link2, str6, menuItemStyle, flag4); link2.RenderBeginTag(writer); item.RenderText(writer); if (flag3) { this.RenderExpand(writer, item, control); } link2.RenderEndTag(writer); } } } else { item.RenderText(writer); } panel.RenderEndTag(writer); this.RenderBreak(writer); if ((menuItemStyle != null) && !menuItemStyle.ItemSpacing.IsEmpty) { this.RenderSpace(writer, menuItemStyle.ItemSpacing, control.Orientation); } string separatorImageUrl = null; if (item.SeparatorImageUrl.Length != 0) { separatorImageUrl = item.SeparatorImageUrl; } else if ((depth < control.StaticDisplayLevels) && (control.StaticBottomSeparatorImageUrl.Length != 0)) { separatorImageUrl = control.StaticBottomSeparatorImageUrl; } else if ((depth >= control.StaticDisplayLevels) && (control.DynamicBottomSeparatorImageUrl.Length != 0)) { separatorImageUrl = control.DynamicBottomSeparatorImageUrl; } if (separatorImageUrl != null) { new Image { ImageUrl = separatorImageUrl, GenerateEmptyAlternateText = true, Page = base.Page }.RenderControl(writer); this.RenderBreak(writer); } }
protected virtual internal void RenderItem(HtmlTextWriter writer, MenuItem item, int position) { Menu owner = Control; MenuItemStyle mergedStyle = owner.GetMenuItemStyle(item); string imageUrl = item.ImageUrl; int depth = item.Depth; int depthPlusOne = depth + 1; string toolTip = item.ToolTip; string navigateUrl = item.NavigateUrl; string text = item.Text; bool enabled = item.IsEnabled; bool selectable = item.Selectable; MenuItemCollection childItems = item.ChildItems; // Top separator string topSeparatorUrl = null; if (depth < owner.StaticDisplayLevels && owner.StaticTopSeparatorImageUrl.Length != 0) { topSeparatorUrl = owner.StaticTopSeparatorImageUrl; } else if (depth >= owner.StaticDisplayLevels && owner.DynamicTopSeparatorImageUrl.Length != 0) { topSeparatorUrl = owner.DynamicTopSeparatorImageUrl; } if (topSeparatorUrl != null) { Image separatorImage = new Image(); separatorImage.ImageUrl = topSeparatorUrl; separatorImage.GenerateEmptyAlternateText = true; // XHtml compliance separatorImage.Page = Page; separatorImage.RenderControl(writer); RenderBreak(writer); } // Don't render the top spacing if this is the first root item if ((mergedStyle != null) && !mergedStyle.ItemSpacing.IsEmpty && ((_titleItem != null) || (position != 0))) { RenderSpace(writer, mergedStyle.ItemSpacing, owner.Orientation); } // Item span Panel itemPanel = new SpanPanel(); itemPanel.Enabled = enabled; itemPanel.Page = Page; // Apply styles if (Page != null && Page.SupportsStyleSheets) { string styleClass = owner.GetCssClassName(item, false); if (styleClass.Trim().Length > 0) { itemPanel.CssClass = styleClass; } } else if (mergedStyle != null) { itemPanel.ApplyStyle(mergedStyle); } // Tooltip if (item.ToolTip.Length != 0) { itemPanel.ToolTip = item.ToolTip; } // Render item begin tag itemPanel.RenderBeginTag(writer); // If there is a navigation url on this item, set up the navigation stuff if: // - the item is the current title item for this level // - the item has no children // - the item is a static item of depth + 1 < StaticDisplayLevels bool clickOpensThisNode = !((position == 0) || (childItems.Count == 0) || (depthPlusOne < owner.StaticDisplayLevels) || (depthPlusOne >= owner.MaximumDepth)); // Indent if (position != 0 && depth > 0 && owner.StaticSubMenuIndent != Unit.Pixel(0) && depth < owner.StaticDisplayLevels) { Image spacerImage = new Image(); spacerImage.ImageUrl = owner.SpacerImageUrl; spacerImage.GenerateEmptyAlternateText = true; // XHtml compliance double indent = owner.StaticSubMenuIndent.Value * depth; if (indent < Unit.MaxValue) { spacerImage.Width = new Unit(indent, owner.StaticSubMenuIndent.Type); } else { spacerImage.Width = new Unit(Unit.MaxValue, owner.StaticSubMenuIndent.Type);; } spacerImage.Height = Unit.Pixel(1); spacerImage.Page = Page; spacerImage.RenderControl(writer); } // Render out the item icon, if it is set and if the item is not templated (VSWhidbey 501618) if (imageUrl.Length > 0 && item.NotTemplated()) { Image newImage = new Image(); newImage.ImageUrl = imageUrl; if (toolTip.Length != 0) { newImage.AlternateText = toolTip; } else { newImage.GenerateEmptyAlternateText = true; // XHtml compliance } newImage.Page = Page; newImage.RenderControl(writer); writer.Write(' '); } bool applyInlineBorder; string linkClass; if (Page != null && Page.SupportsStyleSheets) { linkClass = owner.GetCssClassName(item, true, out applyInlineBorder); } else { linkClass = String.Empty; applyInlineBorder = false; } if (enabled && (clickOpensThisNode || selectable)) { string accessKey = owner.AccessKey; string itemAccessKey = ((position == 0 || (position == 1 && depth == 0)) && accessKey.Length != 0) ? accessKey : null; if (navigateUrl.Length > 0 && !clickOpensThisNode) { if (PageAdapter != null) { PageAdapter.RenderBeginHyperlink(writer, owner.ResolveClientUrl(navigateUrl), true, SR.GetString(SR.Adapter_GoLabel), itemAccessKey != null ? itemAccessKey : (_currentAccessKey < 10 ? (_currentAccessKey++).ToString(CultureInfo.InvariantCulture) : null)); writer.Write(HttpUtility.HtmlEncode(item.FormattedText)); PageAdapter.RenderEndHyperlink(writer); } else { HyperLink link = new HyperLink(); link.NavigateUrl = owner.ResolveClientUrl(navigateUrl); string target = item.Target; if (String.IsNullOrEmpty(target)) { target = owner.Target; } if (!String.IsNullOrEmpty(target)) { link.Target = target; } link.AccessKey = itemAccessKey; link.Page = Page; if (writer is Html32TextWriter) { link.RenderBeginTag(writer); SpanPanel lbl = new SpanPanel(); lbl.Page = Page; RenderStyle(writer, lbl, linkClass, mergedStyle, applyInlineBorder); lbl.RenderBeginTag(writer); item.RenderText(writer); lbl.RenderEndTag(writer); link.RenderEndTag(writer); } else { RenderStyle(writer, link, linkClass, mergedStyle, applyInlineBorder); link.RenderBeginTag(writer); item.RenderText(writer); link.RenderEndTag(writer); } } } // Otherwise, write out a postback that will open or select the item else { if (PageAdapter != null) { PageAdapter.RenderPostBackEvent(writer, owner.UniqueID, (clickOpensThisNode ? 'o' : 'b') + Escape(item.InternalValuePath), SR.GetString(SR.Adapter_OKLabel), item.FormattedText, null, itemAccessKey != null ? itemAccessKey : (_currentAccessKey < 10 ? (_currentAccessKey++).ToString(CultureInfo.InvariantCulture) : null)); // Expand image if (clickOpensThisNode) { RenderExpand(writer, item, owner); } } else { HyperLink link = new HyperLink(); link.NavigateUrl = Page.ClientScript.GetPostBackClientHyperlink(owner, (clickOpensThisNode ? 'o' : 'b') + Escape(item.InternalValuePath), true); link.AccessKey = itemAccessKey; link.Page = Page; if (writer is Html32TextWriter) { link.RenderBeginTag(writer); SpanPanel lbl = new SpanPanel(); lbl.Page = Page; RenderStyle(writer, lbl, linkClass, mergedStyle, applyInlineBorder); lbl.RenderBeginTag(writer); item.RenderText(writer); if (clickOpensThisNode) { RenderExpand(writer, item, owner); } lbl.RenderEndTag(writer); link.RenderEndTag(writer); } else { RenderStyle(writer, link, linkClass, mergedStyle, applyInlineBorder); link.RenderBeginTag(writer); item.RenderText(writer); if (clickOpensThisNode) { RenderExpand(writer, item, owner); } link.RenderEndTag(writer); } } } } else { item.RenderText(writer); } itemPanel.RenderEndTag(writer); // Bottom (or right) item spacing RenderBreak(writer); if ((mergedStyle != null) && !mergedStyle.ItemSpacing.IsEmpty) { RenderSpace(writer, mergedStyle.ItemSpacing, owner.Orientation); } // Bottom separator string bottomSeparatorUrl = null; if (item.SeparatorImageUrl.Length != 0) { bottomSeparatorUrl = item.SeparatorImageUrl; } else if ((depth < owner.StaticDisplayLevels) && (owner.StaticBottomSeparatorImageUrl.Length != 0)) { bottomSeparatorUrl = owner.StaticBottomSeparatorImageUrl; } else if ((depth >= owner.StaticDisplayLevels) && (owner.DynamicBottomSeparatorImageUrl.Length != 0)) { bottomSeparatorUrl = owner.DynamicBottomSeparatorImageUrl; } if (bottomSeparatorUrl != null) { Image separatorImage = new Image(); separatorImage.ImageUrl = bottomSeparatorUrl; separatorImage.GenerateEmptyAlternateText = true; // XHtml compliance separatorImage.Page = Page; separatorImage.RenderControl(writer); RenderBreak(writer); } }
/// <summary> /// /// </summary> /// <param name="writer"></param> /// <author> /// Created by Iulian Iuga; 30 December, 2002 /// </author> protected void RenderContents(HtmlTextWriter writer) { TableRow _tr = new TableRow(); TableCell _td = new TableCell(); _tr.RenderBeginTag(writer); // apply CssClass for current element if (_element.TreeWeb.DefaultElementCssClass.Length > 0) { _td.CssClass = _element.TreeWeb.DefaultElementCssClass; } if (_element.CssClass.Length > 0) { _td.CssClass = _element.CssClass; } //_td.Style.Add( "display", "none" ); _td.Attributes.Add("nowrap", "yes"); _td.RenderBeginTag(writer); // render a at the begining of each element writer.Write(" "); // render element indentation based on element level string _indentation = ""; int nIndentationPerStep = _element.TreeWeb.Indentation; for (int index = 0; index < (_element.Level * nIndentationPerStep); index++) { _indentation += _indentationStep; } writer.Write(_indentation); // render the expand/collapse link if the element has child elements and is expandable. if (_element.HasElements) { HyperLink _link = new HyperLink(); Image _image = new Image(); if (_element.TreeWeb.Expandable && _element.Expandable) { if (_element.IsExpanded) { _link.Text = _expcol[1]; if (_element.TreeWeb.ExpandedElementImage.Length > 0) { _image.ImageUrl = _element.TreeWeb.ExpandedElementImage; } } else { _link.Text = _expcol[0]; if (_element.TreeWeb.CollapsedElementImage.Length > 0) { _image.ImageUrl = _element.TreeWeb.CollapsedElementImage; } } } string scriptCode = "javascript:"; scriptCode += _element.TreeWeb.Page.GetPostBackEventReference(_element.TreeWeb, _element.ID); _link.NavigateUrl = scriptCode; if (_image.ImageUrl.Length > 0) { _link.RenderBeginTag(writer); _image.RenderControl(writer); _link.RenderEndTag(writer); } else { _link.RenderControl(writer); } _image = null; _link = null; writer.Write(" "); } // render checkbox if (_element.TreeWeb.CheckBoxes || _element.CheckBox) { CheckBox _checkbox = new CheckBox(); _checkbox.ID = _element.ID + TreeElement._separator + TreeElement._checkboxIDSufix; _checkbox.RenderControl(writer); _checkbox = null; // write a non-breaking space before the element text writer.Write(" "); } // render element's image if it has one if (_element.ImageIndex > -1) { ElementImage _elementImage = _element.TreeWeb.ImageList[_element.ImageIndex]; if (_elementImage != null) { Image _image = new Image(); _image.ImageUrl = _elementImage.ImageUrl; _image.RenderControl(writer); _image = null; // write a non-breaking space before the element text writer.Write(" "); } } // render element text as a link if NavigateUrl is present or otherwise as normal text if (_element.NavigateUrl.Length > 0) { HyperLink _linkNavigateUrl = new HyperLink(); _linkNavigateUrl.Text = _element.Text; _linkNavigateUrl.NavigateUrl = _element.NavigateUrl; if (_element.TreeWeb.Target.Length > 0) { _linkNavigateUrl.Target = _element.TreeWeb.Target; } if (_element.Target.Length > 0) { _linkNavigateUrl.Target = _element.Target; } if (_element.ToolTip.Length > 0) { _linkNavigateUrl.ToolTip = _element.ToolTip; } _linkNavigateUrl.RenderControl(writer); _linkNavigateUrl = null; } else { Label _label = new Label(); _label.Text = _element.Text; if (_element.ToolTip.Length > 0) { _label.ToolTip = _element.ToolTip; } _label.RenderControl(writer); _label = null; } _td.RenderEndTag(writer); _tr.RenderEndTag(writer); }