Open Closed

Faq Widget Issue #10515


User avatar
0
devchase321 created

i update my Project Abp version form 9.3.2 to 10.1.0 after updating i have issue with Faq Widget it cant render and show this error and every this fine its work before updating version [Widget Type="Faq" groupName="Client" sectionName="Faq" ] i add widget like this and my groupName is Client and section Name is Faq

Markdown supported.
Copy, paste, or drag & drop images and files (max 100 MB per file, 100 MB total per post)

5 Answer(s)
  • User Avatar
    0
    AI-Bot created
    Support Team ABP Agent
    • In ABP 10.x the FAQ widget parameters are groupName and sectionName. Your dynamic widget usage is passing sectionName, but the docs example shows a mismatch (name = "Development"). This typically results in the widget endpoint failing and the UI showing “This part of content couldn’t be loaded.” after the upgrade.

    • Fix your widget invocation by using sectionName (not sectionName="Faq" with an old/incorrect parameter name mapping like name), and ensure the values match an existing FAQ Group + Section in CMS Kit:

      If you use the Dynamic Widget tag helper:

    [Widget Type="Faq" groupName="Client" sectionName="Faq"]
    

    If you render it directly (recommended to verify quickly):

    @await Component.InvokeAsync(
          typeof(FaqViewComponent),
          new
          {
              groupName = "Client",
              sectionName = "Faq"
          }
      )
    
    • After changing it, restart the app and hard refresh the page. The widget content is loaded via an internal widget endpoint; if that endpoint throws due to parameter mismatch, you’ll only see the generic “couldn’t be loaded” message on the UI.

    • If it still fails after this change, the issue is no longer the parameters; it will be a server-side exception inside the widget endpoint. In that case, check the server logs for the request that serves the widget content (it will show the real exception).


    • https://abp.io/docs/latest/modules/cms-kit-pro/faq
    • https://abp.io/docs/latest/framework/ui/mvc-razor-pages/widgets

    This response was generated by AI. If it didn’t solve your problem, feel free to post a new answer — our support team will jump in to help you soon.

    Markdown supported.
    Copy, paste, or drag & drop images and files (max 100 MB per file, 100 MB total per post)
  • User Avatar
    0
    devchase321 created

    [AI-Bot] said:

    • In ABP 10.x the FAQ widget parameters are groupName and sectionName. Your dynamic widget usage is passing sectionName, but the docs example shows a mismatch (name = "Development"). This typically results in the widget endpoint failing and the UI showing “This part of content couldn’t be loaded.” after the upgrade.

    • Fix your widget invocation by using sectionName (not sectionName="Faq" with an old/incorrect parameter name mapping like name), and ensure the values match an existing FAQ Group + Section in CMS Kit:

      If you use the Dynamic Widget tag helper:

    [Widget Type="Faq" groupName="Client" sectionName="Faq"] 
    

    If you render it directly (recommended to verify quickly):

    @await Component.InvokeAsync( 
          typeof(FaqViewComponent), 
          new 
          { 
              groupName = "Client", 
              sectionName = "Faq" 
          } 
      ) 
    
    • After changing it, restart the app and hard refresh the page. The widget content is loaded via an internal widget endpoint; if that endpoint throws due to parameter mismatch, you’ll only see the generic “couldn’t be loaded” message on the UI.

    • If it still fails after this change, the issue is no longer the parameters; it will be a server-side exception inside the widget endpoint. In that case, check the server logs for the request that serves the widget content (it will show the real exception).


    • https://abp.io/docs/latest/modules/cms-kit-pro/faq
    • https://abp.io/docs/latest/framework/ui/mvc-razor-pages/widgets

    This response was generated by AI. If it didn’t solve your problem, feel free to post a new answer — our support team will jump in to help you soon.

    @await Component.InvokeAsync( typeof(FaqViewComponent), new { groupName = "Client", sectionName = "Faq" } ) when i use like this i throw this exception DependencyResolutionException: None of the constructors found on type 'Volo.CmsKit.Pro.Web.Pages.Public.Shared.Components.Faqs.FaqViewComponent' can be invoked with the available services and parameters: Cannot resolve parameter 'Volo.CmsKit.Public.Faqs.IFaqGroupPublicAppService faqGroupPublicAppService' of constructor 'Void .ctor(Volo.CmsKit.Public.Faqs.IFaqSectionPublicAppService, Volo.CmsKit.Public.Faqs.IFaqGroupPublicAppService)'

    Markdown supported.
    Copy, paste, or drag & drop images and files (max 100 MB per file, 100 MB total per post)
  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    This is a bug introduced in ABP v10.x — IFaqGroupPublicAppService was added to FaqViewComponent's constructor but the corresponding HTTP controller and client proxy were never added. A fix has been submitted to the ABP team.

    Temporary workaround:

    Step 1 — Add this controller to your HttpApi or API Host project:

    [RequiresFeature(CmsKitProFeatures.FaqEnable)]
    [RequiresGlobalFeature(typeof(FaqFeature))]
    [RemoteService(Name = CmsKitProCommonRemoteServiceConsts.RemoteServiceName)]
    [Area(CmsKitProCommonRemoteServiceConsts.ModuleName)]
    [Route("api/cms-kit-public/faq-group")]
    public class FaqGroupPublicController : CmsKitProCommonController, IFaqGroupPublicAppService
    {
        protected IFaqGroupPublicAppService FaqGroupPublicAppService { get; }
    
        public FaqGroupPublicController(IFaqGroupPublicAppService faqGroupPublicAppService)
        {
            FaqGroupPublicAppService = faqGroupPublicAppService;
        }
    
        [HttpGet]
        [Route("by-name")]
        public Task<FaqGroupDto> GetGroupByNameAsync(string name)
            => FaqGroupPublicAppService.GetGroupByNameAsync(name);
    }
    

    Step 2 — If your application is tiered, also add this to your Web project:

    [Dependency(ReplaceServices = true)]
    [ExposeServices(typeof(IFaqGroupPublicAppService), typeof(FaqGroupPublicClientProxy))]
    public partial class FaqGroupPublicClientProxy : ClientProxyBase<IFaqGroupPublicAppService>, IFaqGroupPublicAppService
    {
        public virtual async Task<FaqGroupDto> GetGroupByNameAsync(string name)
        {
            return await RequestAsync<FaqGroupDto>(nameof(GetGroupByNameAsync), new ClientProxyRequestTypeValue
            {
                { typeof(string), name }
            });
        }
    }
    

    If your application is not tiered (single host), Step 1 alone is sufficient.

    You can remove these files once the official fix is released.

    Thanks.

    Markdown supported.
    Copy, paste, or drag & drop images and files (max 100 MB per file, 100 MB total per post)
  • User Avatar
    0
    devchase321 created

    [maliming] said: hi

    This is a bug introduced in ABP v10.x — IFaqGroupPublicAppService was added to FaqViewComponent's constructor but the corresponding HTTP controller and client proxy were never added. A fix has been submitted to the ABP team.

    Temporary workaround:

    Step 1 — Add this controller to your HttpApi or API Host project:

    [RequiresFeature(CmsKitProFeatures.FaqEnable)]

    [RequiresGlobalFeature(typeof(FaqFeature))]

    [RemoteService(Name = CmsKitProCommonRemoteServiceConsts.RemoteServiceName)]

    [Area(CmsKitProCommonRemoteServiceConsts.ModuleName)]

    [Route("api/cms-kit-public/faq-group")]

    public class FaqGroupPublicController : CmsKitProCommonController, IFaqGroupPublicAppService

    {

    protected IFaqGroupPublicAppService FaqGroupPublicAppService { get; }
    
    public FaqGroupPublicController(IFaqGroupPublicAppService faqGroupPublicAppService)
    
    {
    
        FaqGroupPublicAppService = faqGroupPublicAppService;
    
    }
    
    [HttpGet]
    
    [Route("by-name")]
    
    public Task<FaqGroupDto> GetGroupByNameAsync(string name)
    
        => FaqGroupPublicAppService.GetGroupByNameAsync(name);
    

    }

    Step 2 — If your application is tiered, also add this to your Web project:

    [Dependency(ReplaceServices = true)]

    [ExposeServices(typeof(IFaqGroupPublicAppService), typeof(FaqGroupPublicClientProxy))]

    public partial class FaqGroupPublicClientProxy : ClientProxyBase

    {

    public virtual async Task<FaqGroupDto> GetGroupByNameAsync(string name)
    
    {
    
        return await RequestAsync<FaqGroupDto>(nameof(GetGroupByNameAsync), new ClientProxyRequestTypeValue
    
        {
    
            { typeof(string), name }
    
        });
    
    }
    

    }

    If your application is not tiered (single host), Step 1 alone is sufficient.

    You can remove these files once the official fix is released.

    Thanks.

    [Dependency(ReplaceServices = true)] [ExposeServices(typeof(IFaqGroupPublicAppService), typeof(FaqGroupPublicClientProxy))] public partial class FaqGroupPublicClientProxy : ClientProxyBase<IFaqGroupPublicAppService>, IFaqGroupPublicAppService { public virtual async Task<FaqGroupDto> GetGroupByNameAsync(string name) { return await RequestAsync<FaqGroupDto>(nameof(GetGroupByNameAsync), new ClientProxyRequestTypeValue { { typeof(string), name } }); } } i add this in my web.public project but when i run project it throw exception Volo.Abp.AbpException HResult=0x80131500 Message=The API description of the Volo.CmsKit.Public.Faqs.IFaqGroupPublicAppService.GetGroupByNameAsync method was not found! Source=Volo.Abp.Http.Client StackTrace: at Volo.Abp.Http.Client.ClientProxying.ClientProxyBase1.BuildHttpProxyClientProxyContext(String methodName, ClientProxyRequestTypeValue arguments) at Volo.Abp.Http.Client.ClientProxying.ClientProxyBase1.<RequestAsync>d__37`1.MoveNext() at Millennial.Web.Public.FaqGroupPublicClientProxy.

    Markdown supported.
    Copy, paste, or drag & drop images and files (max 100 MB per file, 100 MB total per post)
  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    Please apply the following temporary workaround:

    Step 1 — Download the fixed proxy JSON file

    Download the file from: https://limewire.com/d/WDygb#YCBWeHTvIo

    Step 2 — Place the file in your project

    Copy the downloaded cms-kit-pro-common-generate-proxy.json into your *.HttpApi.Client project under the ClientProxies folder:

    YourProject.HttpApi.Client/
    └── ClientProxies/
        └── cms-kit-pro-common-generate-proxy.json
    

    Step 3 — Ensure the file is embedded as a resource

    Open your *.HttpApi.Client.csproj and make sure the following item group exists (add it if missing):

    <ItemGroup>
        <EmbeddedResource Include="**\*generate-proxy.json" />
        <Content Remove="**\*generate-proxy.json" />
    </ItemGroup>
    

    Step 4 — Register the virtual file set override

    Open your *HttpApiClientModule.cs and add the following inside ConfigureServices:

    // Temporary workaround: override cms-kit-pro-common-generate-proxy.json embedded in the NuGet package.
    // Remove this block once the fix is shipped in a new NuGet release.
    Configure<AbpVirtualFileSystemOptions>(options =>
    {
        options.FileSets.AddEmbedded<YourProjectHttpApiClientModule>("YourCompanyName.YourProjectName");
    });
    

    Replace YourProjectHttpApiClientModule with your actual module class name, and "YourCompanyName.YourProjectName" with your actual root namespace (the <RootNamespace> value in your .csproj).

    Step 5 — Rebuild and run

    Rebuild the solution and run the application. The FAQ widget should now work correctly.

    You can revert all of these changes once you upgrade to the version that includes the fix.

    Markdown supported.
    Copy, paste, or drag & drop images and files (max 100 MB per file, 100 MB total per post)
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.8.0-preview. Updated on September 28, 2026, 11:44
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.