0

Just upgraded Sitecore 9.1.1 and SXA 1.8.1 to Sitecore 9.3 and SXA 9.3.

After the upgrade a few components are throwing the following exception:

Error Rendering Controller: Sitecore.XA.Feature.PageContent.Controllers.RichTextController,Sitecore.XA.Feature.PageContent. Action: ReusableIndex: A public action method 'ReusableIndex' was not found on controller 'Sitecore.XA.Feature.PageContent.Controllers.RichTextController'.
   at System.Web.Mvc.Controller.HandleUnknownAction(String actionName)
   at System.Web.Mvc.Controller.ExecuteCore()
   at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
   at Sitecore.Mvc.Controllers.ControllerRunner.ExecuteController(Controller controller)
   at Sitecore.Mvc.Controllers.ControllerRunner.Execute(TextWriter writer)
   at Sitecore.Mvc.Pipelines.Response.RenderRendering.ExecuteRenderer.Render(Renderer renderer, TextWriter writer, RenderRenderingArgs args)

I have checked that all the binaries are the correct 9.3 version and that all the configuration is correct.

The problem doesn't happen on all pages, only some of them.

What might be causing this?

1

It looks like this is due to a breaking change somewhere between SXA 1.8.1 and SXA 9.3.

In 1.8.1 the RichTextController looks like this:

public class RichTextController : VariantsController
{
    public ActionResult ReusableIndex()
    {
        return (ActionResult) this.PartialView("RichText", this.GetModel());
    }
}

In 9.3 that ReuseableIndex method has been removed. It looks like this:

public class RichTextController : VariantsController
{
}

So if you have cloned any components from the RichTextComponent (Reusable), then you may have this problem after an upgrade. Change your rendering to use the Index action instead of the ReusableIndex action and it will work again.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.