protected override void OnPreRender(System.EventArgs e) { base.OnPreRender(e); tabs = CreateTabs(); tabs.CreateStyle(Page, "#" + ClientID + " ul." + ClientID); }
public override void RenderControl(System.Web.UI.HtmlTextWriter writer) { if (this.DesignMode) { base.RenderControl(writer); } else { Panel outerDiv = new Panel(); outerDiv.ID = ClientID; outerDiv.CssClass = this.CssClass; outerDiv.ApplyStyle(ControlStyle); if (tabs == null) { tabs = CreateTabs(); tabs.CreateStyle(Page, "#" + ClientID + " ul." + ClientID); } outerDiv.Controls.Add(tabs); /* * Dim lClear As New Literal * lClear.Text = "<div style=""clear:both""></div>" * outerDiv.Controls.Add(lClear) */ Panel innerDiv = new Panel(); innerDiv.CssClass = "container"; TabView view = GetCurrentView(); if (view != null) { innerDiv.ApplyStyle(view.ControlStyle); innerDiv.Style["border-top"] = "0 !important"; if (view.ControlStyle.BorderStyle == BorderStyle.None || view.ControlStyle.BorderStyle == BorderStyle.NotSet) { innerDiv.BorderStyle = TabBorderStyle; innerDiv.BorderWidth = TabBorderWidth; innerDiv.BorderColor = TabBorderColor; } //padding: top right bottom left if (!ContainerPaddingLeft.IsEmpty) { innerDiv.Style["padding-left"] = ContainerPaddingLeft.ToString(); } if (!ContainerPaddingRight.IsEmpty) { innerDiv.Style["padding-right"] = ContainerPaddingLeft.ToString(); } if (!ContainerPaddingTop.IsEmpty) { innerDiv.Style["padding-top"] = ContainerPaddingLeft.ToString(); } if (!ContainerPaddingBottom.IsEmpty) { innerDiv.Style["padding-bottom"] = ContainerPaddingLeft.ToString(); } } innerDiv.ScrollBars = ScrollBars.Auto; if (!outerDiv.Height.IsEmpty) { innerDiv.Height = new Unit(outerDiv.Height.Value - tabs.RealHeight.Value, UnitType.Pixel); outerDiv.Height = Unit.Empty; } /* * If outerDiv.Height.IsEmpty Then * If innerDiv.Height.IsEmpty Then * innerDiv.Height = New Unit(200 - tabs.RealHeight.Value, UnitType.Pixel) * End If * Else * innerDiv.Height = New Unit(outerDiv.Height.Value - tabs.RealHeight.Value, UnitType.Pixel) * End If */ Literal l = new Literal(); l.Text = "{0}"; innerDiv.Controls.Add(l); outerDiv.Controls.Add(innerDiv); System.IO.StringWriter htmlSW = new System.IO.StringWriter(); HtmlTextWriter html32 = new HtmlTextWriter(htmlSW); outerDiv.RenderControl(html32); string html = htmlSW.ToString(); writer.WriteLine(html.Substring(0, html.IndexOf("{0}"))); base.RenderControl(writer); writer.WriteLine(html.Substring(html.IndexOf("{0}") + 3)); } }
/* * private Tabs _Tabs; */ protected virtual Tabs CreateTabs() { Tabs tabs = new Tabs(); tabs.CssClass = ClientID; tabs.DisplayMode = TabDisplayMode; tabs.ApplyStyle(this.ControlStyle); tabs.Width = Unit.Empty; tabs.Height = Unit.Empty; tabs.ApplyTabStyle(TabStyle); tabs.ApplySelectedTabStyle(SelectedTabStyle); tabs.TabSeparator = this.TabSeparator; TabView activeView = GetCurrentView(); if (activeView != null) { if (activeView.BorderStyle != BorderStyle.None && activeView.BorderStyle != BorderStyle.NotSet) { tabs.BorderColor = activeView.BorderColor; tabs.BorderStyle = activeView.BorderStyle; tabs.BorderWidth = activeView.BorderWidth; } else { tabs.BorderColor = this.TabBorderColor; tabs.BorderStyle = this.TabBorderStyle; tabs.BorderWidth = this.TabBorderWidth; } } int i = 1; foreach (View view in this.Views) { TabView tab = view as TabView; if (tab.TabVisible) { ListItem item = new ListItem(); item.Selected = tab == activeView; if (tab != null) { if (string.IsNullOrEmpty(tab.Title)) { item.Text = "Tab " + i.ToString(); } else { item.Text = tab.Title; } } else { item.Text = "Tab " + i.ToString(); } switch (TabDisplayMode) { case BulletedListDisplayMode.HyperLink: bool added = false; item.Value = Page.Request.AppRelativeCurrentExecutionFilePath + ""; foreach (string qs in Page.Request.QueryString.Keys) { if (!item.Value.EndsWith("")) { item.Value += "&"; } if (qs.Equals(QueryStringKey, StringComparison.OrdinalIgnoreCase)) { item.Value += QueryStringKey + "=" + (i - 1).ToString(); added = true; } else { item.Value += qs + "=" + HttpUtility.UrlEncode(Page.Request.QueryString[qs]); } } if (!added) { if (!item.Value.EndsWith("")) { item.Value += "&"; } item.Value += QueryStringKey + "=" + (i - 1).ToString(); } break; case BulletedListDisplayMode.LinkButton: item.Value = (i - 1).ToString(); break; } tabs.Items.Add(item); } i++; } return(tabs); }