Dave Beattie
Mar 16, 2021
visibility 2311
star star star star star
(2 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

error Please login to comment.
Latest blogs
Architecting an Enterprise-Grade Development Pipeline in Optimizely SaaS CMS

Most enterprise teams show up to Optimizely SaaS CMS with a clear roadmap for their release pipeline: DEV → QA → Stage → Prod. Four logical...

Vipin Banka | Jul 12, 2026

Bynder DAM Connector for Optimizely SaaS CMS: Improved Metadata Property Synchronization

While working with the Bynder DAM Connector for Optimizely SaaS CMS , one of the key areas I explored was how Bynder asset metadata is synchronized...

Vipin Banka | Jul 11, 2026

Optimizely DXP: Every Supported Culture, One Searchable Page

Quick one for anyone building multi-language sites on Optimizely DXP. I put together a reference tool listing all 806 supported cultures. More...

Adnan Zameer | Jul 10, 2026 |

A day in the life of an Optimizely OMVP: London Meetup 2026

On 2nd July 2026 the Optimizely London Developer Meetup returned to The Lightwell, and the running theme across the evening was less about individu...

Graham Carr | Jul 10, 2026

Optimizely’s Summer ’26 Roadmap: The CMS Is Starting to Look Less Like a Publishing Tool and More Like Marketing Infrastructure

Optimizely’s Summer ’26 Product Roadmap event was not just a list of product updates. At least, that is not the part I found most interesting. The...

Augusto Davalos | Jul 9, 2026

Optimizely Content JS SDK v2.1.0 — What's New and Why It Matters

  v2.1.0 of the Optimizely Content JS SDK and CLI landed on July 7, 2026. This is a substantial release bringing a wave of capabilities for...

Vipin Banka | Jul 8, 2026