protected virtual void RenderFormGroupContents(HtmlTextWriter writer, FormGroupDisplay display)
        {
            writer.Write(Config.RenderLabel());

            bool shouldRenderControlSizeDiv = !string.IsNullOrWhiteSpace(Config.ControlSize);

            if (shouldRenderControlSizeDiv)
            {
                writer.AddAttribute("class", Config.ControlSize);
                writer.RenderBeginTag("div");
            }

            writer.Write(Config.RenderControl(display));

            FormBuilderContext builderContext = Html.GetFormBuilderContext();

            if (builderContext.RenderValidationMessages)
            {
                writer.Write(Config.RenderValidationMessage());
            }

            if (shouldRenderControlSizeDiv)
            {
                writer.RenderEndTag(); // div
            }
        }
        protected virtual void RenderFormGroup(HtmlTextWriter writer, FormGroupDisplay display)
        {
            this.AddClass("form-group");
            foreach (var htmlAttribute in HtmlAttributes)
            {
                writer.AddAttribute(htmlAttribute.Key, Convert.ToString(htmlAttribute.Value));
            }
            writer.RenderBeginTag("div");

            RenderFormGroupContents(writer, display);

            writer.RenderEndTag(); // div
        }
Пример #3
0
        public static IHtmlString Render(HtmlHelper html, ITextBoxBuilder textBoxBuilder, FormGroupDisplay display, Func<object> valueFactory, Func<MvcHtmlString> hiddenField)
        {
            bool readOnlyMode = display == FormGroupDisplay.ReadOnly, labelWithHiddenFieldMode = display == FormGroupDisplay.LabelWithHiddenField;

            if (readOnlyMode || labelWithHiddenFieldMode)
            {
                var value = valueFactory();

                var builder = new HtmlTagBuilder("p");
                builder.Attr(textBoxBuilder.HtmlAttributes);
                builder.AddClass("form-control-static");
                builder.InternalBuilder.SetInnerText(html.FormatValue(value, textBoxBuilder.Format()));

                if (labelWithHiddenFieldMode)
                {
                    builder.InternalBuilder.InnerHtml += hiddenField();
                }

                return builder;
            }

            return textBoxBuilder.AddClass("form-control");
        }
Пример #4
0
        public static IHtmlString Render(HtmlHelper html, ISelectListBuilder selectListBuilder, FormGroupDisplay display, string expressionText, Func<MvcHtmlString> hiddenField)
        {
            bool readOnlyMode = display == FormGroupDisplay.ReadOnly, labelWithHiddenFieldMode = display == FormGroupDisplay.LabelWithHiddenField;

            if (readOnlyMode || labelWithHiddenFieldMode)
            {
                var builder = new HtmlTagBuilder("div");

                builder.Attr(selectListBuilder.HtmlAttributes);

                IEnumerable<SelectListItem> selectList = SelectListHelper.GetSelectListItems(html, selectListBuilder, expressionText);

                builder.InternalBuilder.InnerHtml = GetDisplayText(selectList);

                if (labelWithHiddenFieldMode)
                {
                    builder.InternalBuilder.InnerHtml += hiddenField();
                }

                return MvcHtmlString.Create(builder.ToHtmlString());
            }

            return selectListBuilder.AddClass("form-control");
        }
        public IHtmlString Render(FormGroupDisplay display)
        {
            HtmlAttributes.AddRange(Config.HtmlAttributes);
            InstanceData.AddRange(Config.InstanceData);

            switch (display)
            {
            case FormGroupDisplay.None:
                return(MvcHtmlString.Empty);

            case FormGroupDisplay.Normal:
                break;

            case FormGroupDisplay.Hidden:
                this.Css("display", "none");
                break;
            }

            using (var writer = new HtmlWriter())
            {
                RenderFormGroup(writer, display);
                return(writer.ToHtml());
            }
        }
Пример #6
0
        public override IHtmlString RenderControl(FormGroupDisplay display)
        {
            ISelectListBuilder selectListBuilder = Html.BuildDropDownListFor(InitExpression).BuildWith(SelectListModifier);

            return(SelectListGroupHelper.Render(Html, selectListBuilder, display, ExpressionHelper.GetExpressionText(InitExpression), () => Html.HiddenFor(InitExpression)));
        }
Пример #7
0
        public static IHtmlString Render(HtmlHelper html, ITextBoxBuilder textBoxBuilder, FormGroupDisplay display, Func <object> valueFactory, Func <MvcHtmlString> hiddenField)
        {
            bool readOnlyMode = display == FormGroupDisplay.ReadOnly, labelWithHiddenFieldMode = display == FormGroupDisplay.LabelWithHiddenField;

            if (readOnlyMode || labelWithHiddenFieldMode)
            {
                var value = valueFactory();

                var builder = new HtmlTagBuilder("p");
                builder.Attr(textBoxBuilder.HtmlAttributes);
                builder.AddClass("form-control-static");
                builder.InternalBuilder.SetInnerText(html.FormatValue(value, textBoxBuilder.Format()));

                if (labelWithHiddenFieldMode)
                {
                    builder.InternalBuilder.InnerHtml += hiddenField();
                }

                return(builder);
            }

            return(textBoxBuilder.AddClass("form-control"));
        }
 public override IHtmlString RenderControl(FormGroupDisplay display)
 {
     return(MvcHtmlString.Empty);
 }
 protected override void RenderFormGroupContents(HtmlTextWriter writer, FormGroupDisplay display)
 {
     CheckBoxGroupHelper.Render(writer, Config);
 }
Пример #10
0
        public static IHtmlString Render(HtmlHelper html, ISelectListBuilder selectListBuilder, FormGroupDisplay display, string expressionText, Func <MvcHtmlString> hiddenField)
        {
            bool readOnlyMode = display == FormGroupDisplay.ReadOnly, labelWithHiddenFieldMode = display == FormGroupDisplay.LabelWithHiddenField;

            if (readOnlyMode || labelWithHiddenFieldMode)
            {
                var builder = new HtmlTagBuilder("div");

                builder.Attr(selectListBuilder.HtmlAttributes);

                IEnumerable <SelectListItem> selectList = SelectListHelper.GetSelectListItems(html, selectListBuilder, expressionText);

                builder.InternalBuilder.InnerHtml = GetDisplayText(selectList);

                if (labelWithHiddenFieldMode)
                {
                    builder.InternalBuilder.InnerHtml += hiddenField();
                }

                return(MvcHtmlString.Create(builder.ToHtmlString()));
            }

            return(selectListBuilder.AddClass("form-control"));
        }
Пример #11
0
        public override IHtmlString RenderControl(FormGroupDisplay display)
        {
            ITextBoxBuilder textBoxBuilder = Html.BuildTextBoxFor(InitExpression).BuildWith(TextBoxModifier);

            return(TextBoxGroupHelper.Render(Html, textBoxBuilder, display, () => Html.GetInputValue(textBoxBuilder, InitExpression), () => Html.HiddenFor(InitExpression)));
        }