protected void AddStep(object dataItem, Control container) { if (dataItem == null) { return; } var title = DataBinder.GetPropertyValue(dataItem, TitleDataPropertyName, null); var indexValue = DataBinder.GetPropertyValue(dataItem, IndexDataPropertyName); var activeValue = DataBinder.GetPropertyValue(dataItem, ActiveDataPropertyName); var completedValue = DataBinder.GetPropertyValue(dataItem, CompletedDataPropertyName); var index = Convert.ToInt32(indexValue); var active = Convert.ToBoolean(activeValue); var completed = Convert.ToBoolean(completedValue); var step = new ProgressStep(index, title, active, completed); var item = new HtmlGenericControl("li"); item.AddClass("list-group-item"); item.InnerHtml = PrependStepIndexToTitle ? string.Format("<span class='number'>{0}</span>{1}", ZeroBasedIndex ? (step.Index + 1) : step.Index, step.Title) : step.Title; if (step.IsActive) { item.AddClass("active"); } else if (step.IsCompleted) { item.AddClass("text-muted list-group-item-success"); item.InnerHtml += "<span class='glyphicon glyphicon-ok'></span>"; } else { item.AddClass("incomplete"); } container.Controls.Add(item); }