Eu tenho uma página:
<%@ Page Inherits="System.Web.Mvc.View<DTOSearchResults>" %>
E nele, o seguinte:
<% Html.RenderPartial("TaskList", Model.Tasks); %>
Aqui está o objeto DTO:
public class DTOSearchResults
{
public string SearchTerm { get; set; }
public IEnumerable<Task> Tasks { get; set; }
e aqui está o parcial:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Task>>" %>
Quando Model.Tasks não é nulo, tudo funciona bem. No entanto, quando é nulo, recebo:
O item de modelo passado no dicionário é do tipo 'DTOSearchResults', mas esse dicionário requer um item de modelo do tipo 'System.Collections.Generic.IEnumerable`1 [Task]'.
Achei que ele não deveria saber qual sobrecarga usar, então fiz isso (veja abaixo) para ser explícito, mas continuo com o mesmo problema!
<% Html.RenderPartial("TaskList", (object)Model.Tasks, null); %>
Eu sei que posso contornar isso, verificando se é nulo ou nem mesmo passando nulo, mas esse não é o ponto. Por que isso está acontecendo?