protected override void WriteHtml(HtmlTextWriter writer) { Guard.IsNotNull(writer, "writer"); if (Items.Any()) { if (SelectedIndex != -1 && Items.Count < SelectedIndex) { throw new ArgumentOutOfRangeException(TextResource.IndexOutOfRange); } if (HighlightPath) { Items.Each(HighlightSelectedItem); } INavigationComponentHtmlBuilder <MenuItem> builder = rendererFactory.Create(this); IHtmlNode menuTag = builder.Build(); Items.Each(item => item.WriteItem <Menu, MenuItem>(this, menuTag, builder)); menuTag.WriteTo(writer); } base.WriteHtml(writer); }
protected override void WriteHtml(HtmlTextWriter writer) { Guard.IsNotNull(writer, "writer"); if (Items.Any()) { if (SelectedIndex != -1 && Items.Count < SelectedIndex) { throw new ArgumentOutOfRangeException(TextResource.IndexOutOfRange); } int itemIndex = 0; INavigationComponentHtmlBuilder <PanelBarItem> builder = builderFactory.Create(this); IHtmlNode panelbarTag = builder.Build(); //this loop is required because of SelectedIndex feature. if (HighlightPath) { Items.Each(HighlightSelectedItem); } this.Items.Each(item => { if (item.Enabled) { PrepareItem(item, itemIndex); } itemIndex++; item.WriteItem <PanelBar, PanelBarItem>(this, panelbarTag, builder); }); panelbarTag.WriteTo(writer); } base.WriteHtml(writer); }