Jonas Bergqvist
Nov 9, 2012
  7227
(6 votes)

AmbiguousMatchException in MVC BlockController

Have you ever got the following error in the BlockController for our MVC API?

The current request for action 'Index' on controller type 'x' is ambiguous between the following action methods:
System.Web.Mvc.ActionResult Index(y) on type x
System.Web.Mvc.ActionResult Index(y) on type z

If not, you will probably get it in the future. You get this error if you add an action called “Index” in your controller without overriding the index action in the base class. So please, when using a block controller, override the index action, or you may end up with an exception on your EPiServer Tech day presentation.

Nov 09, 2012

Comments

Fredrik Stolpe
Fredrik Stolpe Oct 28, 2014 09:12 AM

A message from the future: I got this error now and this post helped me, thanks :-)

Jens Qvist
Jens Qvist Oct 21, 2015 03:08 PM

Another message from the future. I got this error and this post helped me also! Thanks! :-D

Glenn Lalas
Glenn Lalas Jan 15, 2016 04:53 PM

Chiming in from 2016 to continue the trend of confirming how helpful this post was.  Thanks!  :)

Noel Sefton
Noel Sefton Feb 5, 2019 11:30 AM

yep, helped me as well... (6 years later)

public ActionResult Index(VeryImportantBlock currentBlock) { /*code in here*/ }

becomes

public override ActionResult Index(VeryImportBlock currentBlock) { /* code in here*/ }

Drew Douglas
Drew Douglas Apr 19, 2020 04:27 AM

This post was written 3 months before I got my first professional programming job and 2 years before I had ever hear of episerver, and it's still relavent 7.5 years later. Thanks @JonasBergvist!

Fredrik Stolpe
Fredrik Stolpe May 20, 2020 08:27 AM

Here again, 6 years later :-)

Please login to comment.
Latest blogs
Optimizely PaaS + Figma + AI: Auto‑Generate Blocks with Cursor

What if your design handoff wrote itself? In this end‑to‑end demo, I use an AI Agent (inside Cursor) to translate a Figma design into an... The pos...

Naveed Ul-Haq | Feb 5, 2026 |

Graph access with only JS and Fetch

Postman is a popular tool for testing APIs. However, when testing an API like Optimizely Graph that I will be consuming in the front-end I prefer t...

Daniel Halse | Feb 4, 2026

Best Practices for Implementing Optimizely SaaS CMS: A Collective Wisdom Guide

This guide compiles collective insights and recommendations from Optimizely experts for implementing Optimizely SaaS CMS, focusing on achieving...

David Knipe | Feb 4, 2026 |

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