Mam stronę:
<%@ Page Inherits="System.Web.Mvc.View<DTOSearchResults>" %>
I na tym następujące:
<% Html.RenderPartial("TaskList", Model.Tasks); %>
Oto obiekt DTO:
public class DTOSearchResults
{
public string SearchTerm { get; set; }
public IEnumerable<Task> Tasks { get; set; }
a oto częściowe:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Task>>" %>
Gdy Model.Tasks nie ma wartości NULL, wszystko działa dobrze. Jednak gdy jest zerowy, otrzymuję:
Element modelu przekazany do słownika jest typu „DTOSearchResults”, ale ten słownik wymaga elementu modelu typu „System.Collections.Generic.IEnumerable`1 [Zadanie]”.
Uznałem, że nie może wiedzieć, które przeciążenie użyć, więc zrobiłem to (patrz poniżej), aby być jawnym, ale wciąż mam ten sam problem!
<% Html.RenderPartial("TaskList", (object)Model.Tasks, null); %>
Wiem, że mogę to obejść, sprawdzając wartość null lub nawet nie przekazując wartości null, ale nie o to chodzi. Dlaczego to się dzieje?