RenderControl() public method

Renders a label and T:System.Web.UI.WebControls.TextBox control to the specified T:System.Web.UI.HtmlTextWriter object.
public RenderControl ( System.Web.UI.HtmlTextWriter writer ) : void
writer System.Web.UI.HtmlTextWriter The that receives the rendered output.
return void
コード例 #1
0
        /// <summary>
        /// This is where you implment the simple aspects of rendering your control.  The rest
        /// will be handled by calling RenderControlHelper's RenderControl() method.
        /// </summary>
        /// <param name="writer">The writer.</param>
        public void RenderBaseControl( HtmlTextWriter writer )
        {
            bool ddlItemSelected = false;
            foreach ( ListItem li in _dropDownList.Items )
            {
                if ( li.Value == _hiddenField.Value )
                {
                    li.Selected = true;
                    ddlItemSelected = true;
                }
                else
                {
                    li.Selected = false;
                }
            }

            if ( !ddlItemSelected )
            {
                _textBox.Text = _hiddenField.Value;
            }

            writer.AddAttribute( HtmlTextWriterAttribute.Class, "row js-text-or-ddl-row " + this.CssClass );
            writer.AddAttribute( HtmlTextWriterAttribute.Style, this.Style.Value );
            writer.RenderBeginTag( HtmlTextWriterTag.Div );

            _hiddenField.RenderControl( writer );

            writer.AddAttribute( HtmlTextWriterAttribute.Class, "col-xs-6" );
            writer.RenderBeginTag( HtmlTextWriterTag.Div );
            _textBox.AddCssClass( "js-text-or-ddl-input" );
            _textBox.RenderControl( writer );
            writer.RenderEndTag();

            writer.AddAttribute( HtmlTextWriterAttribute.Class, "col-xs-1" );
            writer.RenderBeginTag( HtmlTextWriterTag.Div );
            var lOr = new RockLiteral();
            lOr.Label = "&nbsp;";
            lOr.Text = "or";
            lOr.RenderControl( writer );
            writer.RenderEndTag();

            writer.AddAttribute( HtmlTextWriterAttribute.Class, "col-xs-5" );
            writer.RenderBeginTag( HtmlTextWriterTag.Div );
            _dropDownList.AddCssClass( "js-text-or-ddl-input" );
            _dropDownList.RenderControl( writer );
            writer.RenderEndTag();

            writer.RenderEndTag();  // row

            RegisterClientScript();
        }
コード例 #2
0
        /// <summary>
        /// Outputs server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object and stores tracing information about the control if tracing is enabled.
        /// </summary>
        /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the control content.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            if (this.Visible)
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-right");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                _lbDelete.RenderControl(writer);
                writer.RenderEndTag();

                writer.RenderBeginTag(HtmlTextWriterTag.H4);
                writer.Write(Caption);
                writer.RenderEndTag();

                writer.AddAttribute("rowid", ID);
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "row clearfix");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                bool existingPerson = (this.PersonId > 0);
                _lNickName.Visible  = existingPerson;
                _lLastName.Visible  = existingPerson;
                _tbNickName.Visible = !existingPerson;
                _tbLastName.Visible = !existingPerson;

                writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-sm-3");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                _lNickName.RenderControl(writer);
                _tbNickName.RenderControl(writer);
                writer.RenderEndTag();

                writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-sm-3");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                _lLastName.RenderControl(writer);
                _tbLastName.RenderControl(writer);
                writer.RenderEndTag();


                if (this.ShowSuffix)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-sm-3");
                    writer.RenderBeginTag(HtmlTextWriterTag.Div);
                    _ddlSuffix.RenderControl(writer);
                    writer.RenderEndTag();
                }

                if (this.ShowGender)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-sm-3");
                    writer.RenderBeginTag(HtmlTextWriterTag.Div);
                    _ddlGender.RenderControl(writer);
                    writer.RenderEndTag();
                }

                if (this.ShowBirthDate)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-sm-3");
                    writer.RenderBeginTag(HtmlTextWriterTag.Div);
                    _dpBirthdate.RenderControl(writer);
                    writer.RenderEndTag();
                }

                if (this.ShowGrade)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-sm-3");
                    writer.RenderBeginTag(HtmlTextWriterTag.Div);
                    _ddlGradePicker.RenderControl(writer);
                    writer.RenderEndTag();
                }

                if (this.ShowMobilePhone)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-sm-3");
                    writer.RenderBeginTag(HtmlTextWriterTag.Div);
                    _pnbMobile.RenderControl(writer);
                    writer.RenderEndTag();
                }

                foreach (Control attributeCtrl in _phAttributes.Controls)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-sm-3");
                    writer.RenderBeginTag(HtmlTextWriterTag.Div);
                    attributeCtrl.RenderControl(writer);
                    writer.RenderEndTag();
                }

                writer.RenderEndTag();

                // Relationship
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "row");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-sm-6");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                writer.RenderEndTag();
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-sm-6");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                _ddlRelationshipType.RenderControl(writer);
                writer.RenderEndTag();
                writer.RenderEndTag();

                writer.RenderBeginTag(HtmlTextWriterTag.Hr);
                writer.RenderEndTag();
            }
        }
コード例 #3
0
        /// <summary>
        /// Writes the <see cref="T:System.Web.UI.WebControls.CompositeControl" /> content to the specified <see cref="T:System.Web.UI.HtmlTextWriter" /> object, for display on the client.
        /// </summary>
        /// <param name="writer">An <see cref="T:System.Web.UI.HtmlTextWriter" /> that represents the output stream to render HTML content on the client.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            string inactiveCss = _cbActivityIsComplete.Checked ? string.Empty : " workflow-activity-inactive";

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel panel-widget workflow-activity" + inactiveCss);

            writer.AddAttribute("data-key", _hfActivityGuid.Value);
            writer.AddAttribute(HtmlTextWriterAttribute.Id, this.ID + "_section");
            writer.RenderBeginTag("section");

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel-heading clearfix clickable");
            writer.RenderBeginTag("header");

            // Hidden Field to track expansion
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "filter-expanded");
            _hfExpanded.RenderControl(writer);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "filter-toggle pull-left");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute("class", "panel-title");
            writer.RenderBeginTag(HtmlTextWriterTag.H3);
            _lblActivityTypeName.RenderControl(writer);

            // H3 tag
            writer.RenderEndTag();
            _lblActivityTypeDescription.RenderControl(writer);

            // Name/Description div
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-right activity-controls");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.WriteLine(string.Format("<a class='btn btn-xs btn-link'><i class='workflow-activity-state fa {0}'></i></a>",
                                           Expanded ? "fa fa-chevron-up" : "fa fa-chevron-down"));

            if (CanEdit && IsDeleteEnabled)
            {
                _lbDeleteActivityType.Visible = true;
                _lbDeleteActivityType.RenderControl(writer);
            }
            else
            {
                _lbDeleteActivityType.Visible = false;
            }

            // Add/ChevronUpDown/Delete div
            writer.RenderEndTag();

            _lblStatus.RenderControl(writer);

            // header div
            writer.RenderEndTag();

            if (!Expanded)
            {
                // hide details if the activity and actions are valid
                writer.AddStyleAttribute("display", "none");
            }
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel-body");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            // activity edit fields
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "row");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-md-6");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            if (CanEdit)
            {
                _ppAssignedToPerson.ValidationGroup = ValidationGroup;
                _ppAssignedToPerson.RenderControl(writer);
                _gpAssignedToGroup.ValidationGroup = ValidationGroup;
                _gpAssignedToGroup.RenderControl(writer);
                _ddlAssignedToRole.ValidationGroup = ValidationGroup;
                _ddlAssignedToRole.RenderControl(writer);
            }
            else
            {
                if (!string.IsNullOrWhiteSpace(_lAssignedToPerson.Text))
                {
                    _lAssignedToPerson.RenderControl(writer);
                }
                if (!string.IsNullOrWhiteSpace(_lAssignedToGroup.Text))
                {
                    _lAssignedToGroup.RenderControl(writer);
                }
                if (!string.IsNullOrWhiteSpace(_lAssignedToRole.Text))
                {
                    _lAssignedToRole.RenderControl(writer);
                }
            }
            writer.RenderEndTag();  // col-md-4

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-md-6");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _cbActivityIsComplete.Enabled         = CanEdit;
            _cbActivityIsComplete.ValidationGroup = ValidationGroup;
            _cbActivityIsComplete.RenderControl(writer);
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "form-group");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "control-label");
            writer.RenderBeginTag(HtmlTextWriterTag.Label);
            writer.Write("&nbsp;");
            writer.RenderEndTag();  // control-label
            _lState.RenderControl(writer);
            writer.RenderEndTag();  // form-group
            writer.RenderEndTag();  // col-md-6

            writer.RenderEndTag();  // row

            _phAttributes.RenderControl(writer);

            // actions
            writer.RenderBeginTag("fieldset");

            writer.RenderBeginTag("legend");
            writer.WriteLine("Actions");
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "grid-table table table-condensed table-light");
            writer.RenderBeginTag(HtmlTextWriterTag.Table);

            writer.RenderBeginTag(HtmlTextWriterTag.Thead);
            writer.RenderBeginTag(HtmlTextWriterTag.Tr);

            writer.AddAttribute(HtmlTextWriterAttribute.Scope, "col");
            writer.RenderBeginTag(HtmlTextWriterTag.Th);
            writer.Write("Action");
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Scope, "col");
            writer.RenderBeginTag(HtmlTextWriterTag.Th);
            writer.Write("Last Processed");
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Scope, "col");
            writer.RenderBeginTag(HtmlTextWriterTag.Th);
            writer.Write("Completed");
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Scope, "col");
            writer.RenderBeginTag(HtmlTextWriterTag.Th);
            writer.RenderEndTag();

            writer.RenderEndTag();  // tr
            writer.RenderEndTag();  // thead

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "workflow-formfield-list");
            writer.RenderBeginTag(HtmlTextWriterTag.Tbody);

            foreach (WorkflowActionEditor workflowActionEditor in this.Controls.OfType <WorkflowActionEditor>())
            {
                workflowActionEditor.ValidationGroup = ValidationGroup;
                workflowActionEditor.RenderControl(writer);
            }

            writer.RenderEndTag();  // tbody

            writer.RenderEndTag();  // table

            // actions fieldset
            writer.RenderEndTag();

            // widget-content div
            writer.RenderEndTag();

            // section tag
            writer.RenderEndTag();
        }
コード例 #4
0
        /// <summary>
        /// Outputs server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object and stores tracing information about the control if tracing is enabled.
        /// </summary>
        /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the control content.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            if (this.Visible)
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-right");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                _lbDelete.RenderControl(writer);
                writer.RenderEndTag();

                writer.RenderBeginTag(HtmlTextWriterTag.H4);
                writer.Write(Caption);
                writer.RenderEndTag();

                // Relationship
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "row");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(6));
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                _ddlRelationshipType.RenderControl(writer);
                writer.RenderEndTag();
                writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(6));     // filler/blocker column
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                writer.RenderEndTag();
                writer.RenderEndTag(); // end Relationship row

                writer.AddAttribute("rowid", ID);
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "row clearfix");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                bool existingPerson = (this.PersonId > 0);
                _lNickName.Visible  = existingPerson;
                _lLastName.Visible  = existingPerson;
                _tbNickName.Visible = !existingPerson;
                _tbLastName.Visible = !existingPerson;

                writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(3));
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                _lNickName.RenderControl(writer);
                _tbNickName.RenderControl(writer);
                writer.RenderEndTag();

                writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(3));
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                _lLastName.RenderControl(writer);
                _tbLastName.RenderControl(writer);
                writer.RenderEndTag();

                if (this.ShowGender)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(3));
                    writer.RenderBeginTag(HtmlTextWriterTag.Div);
                    _ddlGender.RenderControl(writer);
                    writer.RenderEndTag();
                }

                if (this.ShowSuffix)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(3));
                    writer.RenderBeginTag(HtmlTextWriterTag.Div);
                    _ddlSuffix.RenderControl(writer);
                    writer.RenderEndTag();
                }

                if (this.ShowBirthDate)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(6));
                    writer.RenderBeginTag(HtmlTextWriterTag.Div);
                    _bpBirthdate.RenderControl(writer);
                    writer.RenderEndTag();
                }

                if (this.ShowGrade)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(3));
                    writer.RenderBeginTag(HtmlTextWriterTag.Div);
                    _ddlGradePicker.RenderControl(writer);
                    writer.RenderEndTag();
                }

                if (this.ShowMobilePhone)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(3));
                    writer.RenderBeginTag(HtmlTextWriterTag.Div);
                    _pnbMobile.RenderControl(writer);
                    writer.RenderEndTag();
                }

                if (this.ShowEmailAddress)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(6));
                    writer.RenderBeginTag(HtmlTextWriterTag.Div);
                    _ebEmail.RenderControl(writer);
                    writer.RenderEndTag();
                }

                if (this.ShowCommunicationPreference)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(6));
                    writer.RenderBeginTag(HtmlTextWriterTag.Div);
                    _rblCommunicationPreference.RenderControl(writer);
                    writer.RenderEndTag();
                }

                foreach (Control attributeCtrl in _phAttributes.Controls)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(3));
                    writer.RenderBeginTag(HtmlTextWriterTag.Div);
                    attributeCtrl.RenderControl(writer);
                    writer.RenderEndTag();
                }

                writer.RenderEndTag();

                writer.RenderBeginTag(HtmlTextWriterTag.Hr);
                writer.RenderEndTag();
            }
        }
コード例 #5
0
        /// <summary>
        /// Writes the <see cref="T:System.Web.UI.WebControls.CompositeControl" /> content to the specified <see cref="T:System.Web.UI.HtmlTextWriter" /> object, for display on the client.
        /// </summary>
        /// <param name="writer">An <see cref="T:System.Web.UI.HtmlTextWriter" /> that represents the output stream to render HTML content on the client.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel panel-widget workflow-action");
            writer.AddAttribute("data-key", _hfActionTypeGuid.Value);
            writer.RenderBeginTag("article");

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "clearfix clickable panel-heading");
            writer.RenderBeginTag("header");

            // Hidden Field to track expansion
            _hfExpanded.RenderControl(writer);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-left workflow-action-name");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _lblActionTypeName.Text = _tbActionTypeName.Text;
            _lblActionTypeName.RenderControl(writer);
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-right");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            string criteriaExistsClass = _ddlCriteriaAttribute.SelectedValueAsGuid().HasValue ? " criteria-exists" : string.Empty;

            writer.WriteLine(string.Format("<a class='btn btn-xs btn-link js-workflow-action-criteria{0}'><i class='fa fa-filter'></i></a>", criteriaExistsClass));
            writer.WriteLine("<a class='btn btn-xs btn-link workflow-action-reorder'><i class='fa fa-bars'></i></a>");
            writer.WriteLine(string.Format("<a class='btn btn-xs btn-link'><i class='workflow-action-state fa {0}'></i></a>",
                                           Expanded ? "fa fa-chevron-up" : "fa fa-chevron-down"));

            if (IsDeleteEnabled)
            {
                _lbDeleteActionType.Visible = true;

                _lbDeleteActionType.RenderControl(writer);
            }
            else
            {
                _lbDeleteActionType.Visible = false;
            }

            // Add/ChevronUpDown/Delete div
            writer.RenderEndTag();

            // header div
            writer.RenderEndTag();

            if (!Expanded)
            {
                // hide details if the name has already been filled in
                writer.AddStyleAttribute("display", "none");
            }
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel-body");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            // add Criteria fields
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "row conditional-run-criteria alert-warning");
            if (!_ddlCriteriaAttribute.SelectedValueAsGuid().HasValue)
            {
                writer.AddStyleAttribute("display", "none");
            }
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-lg-6");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "form-row");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-xs-7");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _ddlCriteriaAttribute.RenderControl(writer);
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-xs-5");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _ddlCriteriaComparisonType.RenderControl(writer);
            writer.RenderEndTag();

            writer.RenderEndTag();  // row

            writer.RenderEndTag();  // col-md-6

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-lg-6");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            var comparisonType = _ddlCriteriaComparisonType.SelectedValueAsEnum <ComparisonType>();

            _tbddlCriteriaValue.Style["display"] = (comparisonType == ComparisonType.IsBlank || comparisonType == ComparisonType.IsNotBlank) ? "none" : "block";
            _tbddlCriteriaValue.RenderControl(writer);
            writer.RenderEndTag();

            writer.RenderEndTag();

            // action edit fields
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "form-row");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-md-6");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _tbActionTypeName.ValidationGroup = ValidationGroup;
            _tbActionTypeName.RenderControl(writer);
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-md-6");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _cbIsActionCompletedOnSuccess.ValidationGroup = ValidationGroup;
            _cbIsActionCompletedOnSuccess.RenderControl(writer);
            _cbIsActivityCompletedOnSuccess.ValidationGroup = ValidationGroup;
            _cbIsActivityCompletedOnSuccess.RenderControl(writer);
            writer.RenderEndTag();

            writer.RenderEndTag();  // row

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "row");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-lg-4");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _wfatpEntityType.ValidationGroup = ValidationGroup;
            _wfatpEntityType.RenderControl(writer);
            writer.RenderEndTag();

            // Add an overview(description) of the selected action type
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-lg-8");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            EntityTypeCache entityType   = null;
            int?            entityTypeId = _wfatpEntityType.SelectedValueAsInt();

            if (entityTypeId.HasValue)
            {
                entityType = EntityTypeCache.Get(entityTypeId.Value);
                if (entityType != null)
                {
                    var component = ActionContainer.GetComponent(entityType.Name);
                    if (component != null)
                    {
                        string description   = string.Empty;
                        var    propAttribute = component.GetType().GetCustomAttributes(typeof(System.ComponentModel.DescriptionAttribute), false).FirstOrDefault();
                        if (propAttribute != null)
                        {
                            var descAttribute = propAttribute as System.ComponentModel.DescriptionAttribute;
                            if (descAttribute != null)
                            {
                                _rlEntityTypeOverview.Label = string.Format("'{0}' Overview", entityType.FriendlyName);
                                _rlEntityTypeOverview.Text  = descAttribute.Description;
                                _rlEntityTypeOverview.RenderControl(writer);
                            }
                        }
                    }
                }
            }
            writer.RenderEndTag();  // col-md-8

            writer.RenderEndTag();  // row

            if (entityType != null && entityType.Name == typeof(Rock.Workflow.Action.UserEntryForm).FullName)
            {
                _formEditor.ValidationGroup = ValidationGroup;
                _formEditor.RenderControl(writer);
            }

            _phActionAttributes.RenderControl(writer);

            // widget-content div
            writer.RenderEndTag();

            // article tag
            writer.RenderEndTag();
        }