Ho una pagina:
<%@ Page Inherits="System.Web.Mvc.View<DTOSearchResults>" %>
E su di esso, il seguente:
<% Html.RenderPartial("TaskList", Model.Tasks); %>
Ecco l'oggetto DTO:
public class DTOSearchResults
{
public string SearchTerm { get; set; }
public IEnumerable<Task> Tasks { get; set; }
ed ecco il parziale:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Task>>" %>
Quando Model.Tasks non è null, tutto funziona correttamente. Tuttavia quando è nullo ottengo:
L'elemento del modello passato nel dizionario è di tipo 'DTOSearchResults' ma questo dizionario richiede un elemento del modello di tipo 'System.Collections.Generic.IEnumerable`1 [Task]'.
Ho pensato che non dovesse sapere quale sovraccarico usare, quindi l'ho fatto (vedi sotto) per essere esplicito, ma ho ancora lo stesso problema!
<% Html.RenderPartial("TaskList", (object)Model.Tasks, null); %>
So che posso aggirare il problema controllando null, o nemmeno passando null, ma non è questo il punto. Perché sta succedendo?