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 a4a3425c18..5e2be762ba 100644 --- a/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/AbpTagHelperService.cs +++ b/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/AbpTagHelperService.cs @@ -71,7 +71,10 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers public static T GetAttribute(ModelExplorer property) where T : Attribute { - var xd1 = property.Container.ModelType.GetTypeInfo(); + //var xd1 = property.Container.ModelType.GetTypeInfo(); + //var xd2 = xd1.GetProperty(property.Metadata.PropertyName); + + var xd1 = property.Metadata.ContainerType.GetTypeInfo(); var xd2 = xd1.GetProperty(property.Metadata.PropertyName); if (xd2 == null) diff --git a/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelper.cs b/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelper.cs index 3d038a415d..a2f157be30 100644 --- a/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelper.cs +++ b/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelper.cs @@ -11,9 +11,6 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form public string Label { get; set; } - [HtmlAttributeName("order")] - public int? FieldOrder { get; set; } - [HtmlAttributeNotBound] [ViewContext] public ViewContext ViewContext { get; set; } 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 93e34a5871..7e255a4847 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 @@ -32,14 +32,9 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form var isCheckbox = IsInputCheckbox(inputTag.Attributes); var label = GetLabelAsHtml(inputTag, isCheckbox); - var content = isCheckbox ? - inputHtml + Environment.NewLine + label : - label + Environment.NewLine + inputHtml; + var content = GetContent(label, inputHtml, isCheckbox); - content ="
" + Environment.NewLine + content + Environment.NewLine + "
"; - - - //var order = GetAttribute(TagHelper.AspFor.ModelExplorer); + var order = GetAttribute(TagHelper.AspFor.ModelExplorer); var list = context.Items["InputGroupContents"] as List; @@ -48,13 +43,22 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form list.Add(new InputGroupContent { Html = content, - Order = TagHelper.FieldOrder ?? 999 + Order = order?.Number ?? 0 }); } output.SuppressOutput(); } + protected virtual string GetContent(string label, string inputHtml, bool isCheckbox) + { + var content = isCheckbox ? + inputHtml + Environment.NewLine + label : + label + Environment.NewLine + inputHtml; + + return "
" + Environment.NewLine + content + Environment.NewLine + "
"; + } + protected virtual TagHelperOutput GetInputTag(TagHelperContext context) { var inputTagHelper = new InputTagHelper(_generator) diff --git a/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Forms.cshtml b/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Forms.cshtml index 711621d0d9..532c283118 100644 --- a/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Forms.cshtml +++ b/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Forms.cshtml @@ -16,8 +16,8 @@ - - + +
diff --git a/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Forms.cshtml.cs b/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Forms.cshtml.cs index d2ac31c34a..0682045d01 100644 --- a/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Forms.cshtml.cs +++ b/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Forms.cshtml.cs @@ -74,6 +74,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Pages.Components public string Name { get; set; } [Required] + [DisplayOrder(61)] [DisplayName("Age")] public int Age { get; set; } @@ -81,13 +82,13 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Pages.Components [DisplayName("City")] public Cities City { get; set; } - [DisplayOrder(51)] public Phone Phone { get; set; } [DataType(DataType.Date)] [DisplayName("Day")] public DateTime Day { get; set; } + [DisplayOrder(51)] [DisplayName("Is Active")] public bool IsActive { get; set; } @@ -102,7 +103,8 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Pages.Components public string Number { get; set; } [Required] - [DisplayName("Name")] + [DisplayOrder(71)] + [DisplayName("PhoneName")] public string Name { get; set; } } } \ No newline at end of file