diff --git a/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs b/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs index 147ec9cf48..27f45228e8 100644 --- a/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs +++ b/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs @@ -50,7 +50,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form { var inputTag = GetInputTag(context, output, out isCheckbox); var inputHtml = RenderTagHelperOutput(inputTag, _encoder); - var label = GetLabelAsHtml(context, output, inputTag, isCheckbox); + var label = GetLabelAsHtml(context, output, isCheckbox); var validation = isCheckbox ? "" : GetValidationAsHtml(context, output); @@ -112,18 +112,22 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form return attributes.Any(a => a.Value != null && a.Name == "type" && a.Value.ToString() == "checkbox"); } - protected virtual string GetLabelAsHtml(TagHelperContext context, TagHelperOutput output, TagHelperOutput inputTag, bool isCheckbox) + protected virtual string GetLabelAsHtml(TagHelperContext context, TagHelperOutput output, bool isCheckbox) { - if (string.IsNullOrEmpty(TagHelper.Label) && string.IsNullOrEmpty(TagHelper.AspFor.Metadata.DisplayName)) + var labelTagHelper = new LabelTagHelper(_generator) { - return ""; - } + For = TagHelper.AspFor, + ViewContext = TagHelper.ViewContext + }; - var checkboxClass = isCheckbox ? "class=\"form-check-label\" " : ""; + var attributeList = new TagHelperAttributeList(); + + if (isCheckbox) + { + attributeList.AddClass("form-check-label"); + } - return ""; + return RenderTagHelper(attributeList, context, labelTagHelper, _encoder, "span", TagMode.StartTagAndEndTag, true); } protected virtual string GetLabelValue(TagHelperContext context, TagHelperOutput output)