Rock.Web.UI.Controls.RockTextOrDropDownList.RenderBaseControl C# (CSharp) Method

RenderBaseControl() public method

This is where you implment the simple aspects of rendering your control. The rest will be handled by calling RenderControlHelper's RenderControl() method.
public RenderBaseControl ( System.Web.UI.HtmlTextWriter writer ) : void
writer System.Web.UI.HtmlTextWriter The writer.
return void
        public void RenderBaseControl( HtmlTextWriter writer )
        {
            if ( Rows > 1 )
            {
                _textBox.TextMode = TextBoxMode.MultiLine;
                _textBox.Rows = Rows;
            }
            else
            {
                _textBox.TextMode = TextBoxMode.SingleLine;
            }

            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 );
            if ( ValidateRequestMode == System.Web.UI.ValidateRequestMode.Disabled )
            {
                _hfDisableVrm.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 = " ";
            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();
        }