У мене є сторінка:
<%@ Page Inherits="System.Web.Mvc.View<DTOSearchResults>" %>
І на ньому:
<% Html.RenderPartial("TaskList", Model.Tasks); %>
Ось об’єкт DTO:
public class DTOSearchResults
{
public string SearchTerm { get; set; }
public IEnumerable<Task> Tasks { get; set; }
і ось часткове:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Task>>" %>
Коли Model.Tasks не є нульовим, все працює добре. Однак коли його нульове значення я отримую:
Елемент моделі, переданий у словник, має тип "DTOSearchResults", але для цього словника потрібен елемент моделі типу "System.Collections.Generic.IEnumerable`1 [Завдання]".
Я подумав, що він не повинен знати, яку перевантаження використовувати, тому я зробив це (див. Нижче), щоб бути явним, але все одно я отримую ту саму проблему!
<% Html.RenderPartial("TaskList", (object)Model.Tasks, null); %>
Я знаю, що я можу обійти це, перевіривши на null або навіть не передавши null, але це не в тому. Чому це відбувається?