J'ai une page :
<%@ Page Inherits="System.Web.Mvc.View<DTOSearchResults>" %>
Et dessus, le texte suivant :
<% Html.RenderPartial("TaskList", Model.Tasks); %>
Voici l'objet DTO :
public class DTOSearchResults
{
public string SearchTerm { get; set; }
public IEnumerable<Task> Tasks { get; set; }
et voici le partiel :
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Task>>" %>
Lorsque Model.Tasks n'est pas nul, tout fonctionne bien. Cependant, lorsqu'il est nul, j'obtiens :
L'élément de modèle passé dans le dictionnaire est de type 'DTOSearchResults' mais ce dictionnaire requiert un élément de modèle de type System.Collections.Generic.IEnumerable`1[Task]'.
Je me suis dit qu'il ne devait pas savoir quelle surcharge utiliser, alors j'ai fait ceci (voir ci-dessous) pour être explicite, mais j'ai toujours le même problème !
<% Html.RenderPartial("TaskList", (object)Model.Tasks, null); %>
Je sais que je peux contourner ce problème en vérifiant la présence de null, ou même en ne passant pas null, mais ce n'est pas le problème. Pourquoi cela se produit-il ?