/// <summary> /// Add final formatting to controls /// </summary> protected override void OnPreRender(EventArgs e) { HtmlContainerControl legend; HtmlContainerControl span; string url = this.Context.Request.Url.PathAndQuery; string stepField = _postedStep.ID + "="; Regex re = new Regex(stepField + "\\d"); // legend for container if (!string.IsNullOrEmpty(_label)) { legend = new HtmlContainerControl("legend"); legend.InnerHtml = _label; this.Controls.AddAt(0, legend); } // transfer content to active step _content.Visible = true; _current.Controls.AddAt(0, _content); // legend for the active step legend = new HtmlContainerControl("legend"); legend.CssClass = "steps"; // build progress indicator with all step labels foreach (Step s in _steps) { span = new HtmlContainerControl("span"); if (s.Equals(_current)) { span.CssClass = "selected"; span.InnerHtml = s.Label; } else { // allow link to other steps string format = "{0}"; if (!s.Equals(_steps.Last.Value)) { if (true) { format = "<a href=\"{0}\" title=\"Jump to {1}\">{1}</a>"; } } span.InnerHtml = string.Format(format, re.Replace(url, stepField + s.ID), s.Label); } legend.Controls.Add(span); } _current.Controls.AddAt(0, legend); _current.Visible = true; //if (this.Page.Step == 0) { _backButton.Visible = false; } //if (this.Page.Step == _steps.Count) { _nextButton.Visible = false; } _postedStep.Value = _current.ID; base.OnPreRender(e); }
/// <summary> /// Add final formatting to controls /// </summary> protected override void OnPreRender(EventArgs e) { HtmlContainerControl list = new HtmlContainerControl("ul"); HtmlContainerControl fieldset = new HtmlContainerControl("fieldset"); HtmlContainerControl item; string url = this.Context.Request.Url.PathAndQuery; bool select = true; list.CssClass = "tabClick"; list.ID = this.ID + "_list"; this.Controls.AddAt(0, fieldset); this.Controls.AddAt(0, list); // legend for container if (!string.IsNullOrEmpty(_label)) { HtmlContainerControl legend = new HtmlContainerControl("legend"); legend.InnerHtml = _label; this.Controls.AddAt(0, legend); } // tab selector foreach (Tab t in _tabs) { if (t.Visible) { item = new HtmlContainerControl("li"); item.InnerHtml = t.Label; item.ID = t.ID + "_click"; if (select) { item.CssClass = "selected"; t.CssClass += " selected"; select = false; } list.Controls.Add(item); fieldset.Controls.Add(t); } } base.OnPreRender(e); }