diff --git a/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/AbpTagHelperService.cs b/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/AbpTagHelperService.cs index 248a6c9881..55ff80f862 100644 --- a/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/AbpTagHelperService.cs +++ b/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/AbpTagHelperService.cs @@ -15,7 +15,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers public abstract class AbpTagHelperService : IAbpTagHelperService where TTagHelper : TagHelper { - protected const string FormGroupContentsKey = "FormGroupContents"; + protected const string FormGroupContents = "FormGroupContents"; public TTagHelper TagHelper { get; set; } @@ -81,7 +81,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers protected virtual List GetFormGroupContentsList(TagHelperContext context) { - return context.Items[FormGroupContentsKey] as List; + return context.Items[FormGroupContents] as List; } protected virtual string GetIdAttributeAsString(TagHelperOutput inputTag) diff --git a/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpDynamicformTagHelperService.cs b/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpDynamicformTagHelperService.cs index 96722cdf8b..a5809f9094 100644 --- a/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpDynamicformTagHelperService.cs +++ b/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpDynamicformTagHelperService.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; +using System.Text; using System.Text.Encodings.Web; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc.Rendering; @@ -27,11 +28,11 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output) { + var list = InitilizeFormGroupContentsContext(context); + NormalizeTagMode(context, output); SetFormAttributes(output); - - var list = InitilizeFormGroupContentsContext(context); await output.GetChildContentAsync(); @@ -50,19 +51,23 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form output.Attributes.AddIfNotContains("method", "post"); } - protected virtual void SetContent(TagHelperOutput output, List list) + protected virtual void SetContent(TagHelperOutput output, List items) { - foreach (var itemConfig in list.OrderBy(o => o.Order)) + var postContentBuilder = new StringBuilder(output.PostContent.GetContent()); + + foreach (var item in items.OrderBy(o => o.Order)) { - output.PostContent.SetHtmlContent(output.PostContent.GetContent() + itemConfig.HtmlContent); + postContentBuilder.AppendLine(item.HtmlContent); } + + output.PostContent.SetHtmlContent(postContentBuilder.ToString()); } protected virtual List InitilizeFormGroupContentsContext(TagHelperContext context) { - var list = new List(); - context.Items.Add(FormGroupContentsKey, list); - return list; + var items = new List(); + context.Items[FormGroupContents] = items; + return items; } protected virtual void ProcessFields(TagHelperContext context, TagHelperOutput output) 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 51b3cc9204..cdf4bee3b6 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 @@ -16,13 +16,11 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form { private readonly IHtmlGenerator _generator; private readonly HtmlEncoder _encoder; - private readonly IStringLocalizer _localizer; - public AbpInputTagHelperService(IHtmlGenerator generator, HtmlEncoder encoder, IStringLocalizer localizer) + public AbpInputTagHelperService(IHtmlGenerator generator, HtmlEncoder encoder) { _generator = generator; _encoder = encoder; - _localizer = localizer; } public override void Process(TagHelperContext context, TagHelperOutput output) @@ -102,7 +100,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form var checkboxClass = isCheckbox ? "class=\"form-check-label\" " : ""; return ""; } diff --git a/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/FormGroupContent.cs b/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/FormGroupItem.cs similarity index 100% rename from src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/FormGroupContent.cs rename to src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/FormGroupItem.cs diff --git a/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/DynamicForms.cshtml b/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/DynamicForms.cshtml index ee5dc32ada..56ab04a6bf 100644 --- a/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/DynamicForms.cshtml +++ b/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/DynamicForms.cshtml @@ -14,6 +14,7 @@
+ @**@
Posted Values: