Dave Beattie
Mar 16, 2021
  2182
(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

Please login to comment.
Latest blogs
We Cloned Our Best Analyst with AI: How Our Opal Hackathon Grand Prize Winner is Changing Experimentation

Every experimentation team knows the feeling. You have a backlog of experiment ideas, but progress is bottlenecked by one critical team member, the...

Polly Walton | Feb 16, 2026

Architecting AI in Optimizely CMS: When to Use Opal vs Custom Integration

AI is rapidly becoming a core capability in modern digital experience platforms. As developers working with Optimizely CMS 12 (.NET Core), the real...

Keshav Dave | Feb 15, 2026

Reducing Web Experimentation MAU Using the REST API

Overview Optimizely Web Experimentation counts an MAU based upon the script snippet rendering for evauluation of web experiement. Therefore when yo...

Scott Reed | Feb 13, 2026

Install the new AI Assistant Chat for Optimizely

AI Assistant Chat is a revolutionary feature introduced in version 3.0 of Epicweb.Optimizely.AIAssistant that brings conversational AI directly int...

Luc Gosso (MVP) | Feb 12, 2026 |

Building a TwoColumnWideLeftSection in Optimizely CMS 13 Visual Builder

This post walks through a practical “66% / 33%” section built for Visual Builder using the composition tag helpers: , , , and . Visual Builder is...

Francisco Quintanilla | Feb 12, 2026 |

Advanced Form Submissions for Optimizely CMS 12

Managing form submissions in enterprise Optimizely CMS installations can quickly become inefficient. While the default Optimizely Forms submission...

Adnan Zameer | Feb 12, 2026 |