J'ai une page:
<%@ Page Inherits="System.Web.Mvc.View<DTOSearchResults>" %>
Et là-dessus, ce qui suit:
<% 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, lorsque sa valeur nulle, j'obtiens:
L'élément de modèle transmis au dictionnaire est de type «DTOSearchResults», mais ce dictionnaire nécessite un élément de modèle de type «System.Collections.Generic.IEnumerable» 1 [tâche] ».
J'ai pensé qu'il ne devait pas savoir quelle surcharge utiliser, alors j'ai fait cela (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 cela en vérifiant null, ou même en ne passant pas null, mais ce n'est pas le point. Pourquoi cela arrive-t-il?