- ABP Framework version: v4.3
- UI type: MVC
- DB provider: EF Core / MongoDB
- Tiered (MVC) or Identity Server Separated (Angular): yes (Micro Service one)
- Exception message and stack trace:
- Steps to reproduce the issue:
We would like to over ride the abp-input controls to customize the UI, can you please guide on how to perform the same. I mean Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.
I know we can override the pages but just trying to find a way to overRride Abp Tag helper so that it can be updated everywhere with very minila code.
7 Answer(s)
-
0
hi
You can try to create a new taghelper and make it executed first.
https://github.com/abpframework/abp/blob/48c52625f4c4df007f04d5ac6368b07411aa7521/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpIdNameTagHelper.cs#L18
-
0
hi
You can try to create a new taghelper and make it executed first.
https://github.com/abpframework/abp/blob/48c52625f4c4df007f04d5ac6368b07411aa7521/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpIdNameTagHelper.cs#L18
Yes, creating a new one is one of the option, but Lets suppose we had to customize the textbox across application, we need to include the files of administration and SAAS modules and override those. Inisted of that if we can override adp-input tag helper it would be easy approch right.
Is there any way to include .cshtml of respective tag helper to override the defayult ones?
-
0
Maybe you can try:
using System.Text.Encodings.Web; using Microsoft.AspNetCore.Mvc.ViewFeatures; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form; using Volo.Abp.DependencyInjection; namespace MyCompanyName.MyProjectName.Web { [Dependency(ReplaceServices = true)] [ExposeServices(typeof(AbpInputTagHelperService))] public class MyInputTagHelperService : AbpInputTagHelperService { public MyInputTagHelperService(IHtmlGenerator generator, HtmlEncoder encoder, IAbpTagHelperLocalizer tagHelperLocalizer) : base(generator, encoder, tagHelperLocalizer) { } } [Dependency(ReplaceServices = true)] [ExposeServices(typeof(AbpInputTagHelper))] public class MyInputTagHelper : AbpInputTagHelper { public MyInputTagHelper(AbpInputTagHelperService tagHelperService) : base(tagHelperService) { } } }
-
0
Maybe you can try:
using System.Text.Encodings.Web; using Microsoft.AspNetCore.Mvc.ViewFeatures; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form; using Volo.Abp.DependencyInjection; namespace MyCompanyName.MyProjectName.Web { [Dependency(ReplaceServices = true)] [ExposeServices(typeof(AbpInputTagHelperService))] public class MyInputTagHelperService : AbpInputTagHelperService { public MyInputTagHelperService(IHtmlGenerator generator, HtmlEncoder encoder, IAbpTagHelperLocalizer tagHelperLocalizer) : base(generator, encoder, tagHelperLocalizer) { } } [Dependency(ReplaceServices = true)] [ExposeServices(typeof(AbpInputTagHelper))] public class MyInputTagHelper : AbpInputTagHelper { public MyInputTagHelper(AbpInputTagHelperService tagHelperService) : base(tagHelperService) { } } }
I am not sure, in this case where we can overide the html content of Tag helpers? Are we missing anything here?
-
0
You can overiide some base class methods of AbpInputTagHelperService in your MyInputTagHelperService .
https://github.com/abpframework/abp/blob/dev/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs
-
0
You can overiide some base class methods of AbpInputTagHelperService in your MyInputTagHelperService .
https://github.com/abpframework/abp/blob/dev/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs
Sure, We will give a try and update you back. Thanks
-
0
You can overiide some base class methods of AbpInputTagHelperService in your MyInputTagHelperService .
https://github.com/abpframework/abp/blob/dev/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs
It Worked perfectly. Now we are able to over ride the input helper. Thanks for the info @maliming.