A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More

Dave Beattie
Mar 16, 2021
  68
(1 votes)

Episerver Routing Error ‘The routed data is of type..and the binding context data ... is of type ..., neither of which matches the requested type...’

Recently while trying to build an Episerver ecommerce solution I ran into an error with a type mismatch where navigating to any type of node or product failed with a type mismatch.

The ‘requested type’ for each product was always the same class.  I then noticed whenever a new type of product was added, the requested type was always the first type of model alphabetically.

The controller for each node and product type was inheriting from a base controller.

This turned out to be where the problem lay.  Each controller looked ok and seemed to be configured for the relevant model.

However, there was a typo in the inheritance on the base class here, which led to each controller compiling as ContentController<CatalogContentBase>.  Thus when processing the route, episerver was getting confused as to which model it should be resolving the route for, and just took a stab in the dark and grabbed the first model inheriting from CatalogContentBase it could find. 

Changing this to a type parameter constraint, so any class implementing this controller would have to be routing a model implementing catalogContentBase, fixed the error. 

Essentially if you run into this error, check that all your controllers are routing the correct content type, and if there is a base class, ensure this is also configured properly.

Mar 16, 2021

Comments

Please login to comment.
Latest blogs
A day in the life of an Optimizely OMVP: Learning Optimizely Just Got Easier: Introducing the Optimizely Learning Centre

On the back of my last post about the Opti Graph Learning Centre, I am now happy to announce a revamped interactive learning platform that makes...

Graham Carr | Jan 31, 2026

Scheduled job for deleting content types and all related content

In my previous blog post which was about getting an overview of your sites content https://world.optimizely.com/blogs/Per-Nergard/Dates/2026/1/sche...

Per Nergård (MVP) | Jan 30, 2026

Working With Applications in Optimizely CMS 13

💡 Note:  The following content has been written based on Optimizely CMS 13 Preview 2 and may not accurately reflect the final release version. As...

Mark Stott | Jan 30, 2026

Experimentation at Speed Using Optimizely Opal and Web Experimentation

If you are working in experimentation, you will know that speed matters. The quicker you can go from idea to implementation, the faster you can...

Minesh Shah (Netcel) | Jan 30, 2026