diff --git a/src/Umbraco.Web/Mvc/RenderModelBinder.cs b/src/Umbraco.Web/Mvc/RenderModelBinder.cs index 149194dbd0..735f015afc 100644 --- a/src/Umbraco.Web/Mvc/RenderModelBinder.cs +++ b/src/Umbraco.Web/Mvc/RenderModelBinder.cs @@ -174,9 +174,15 @@ namespace Umbraco.Web.Mvc public IModelBinder GetBinder(Type modelType) { - return TypeHelper.IsTypeAssignableFrom(modelType) || TypeHelper.IsTypeAssignableFrom(modelType) - ? this - : null; + // can bind to RenderModel (exact type match) + if (modelType == typeof(RenderModel)) return this; + + // can bind to RenderModel (exact generic type match) + if (modelType.IsGenericType && modelType.GetGenericTypeDefinition() == typeof(RenderModel<>)) return this; + + // can bind to TContent where TContent : IPublishedContent (any IPublishedContent implementation) + if (typeof(IPublishedContent).IsAssignableFrom(modelType)) return this; + return null; } } } \ No newline at end of file