具有null模型的renderpartial传递了错误的类型
我有一个页面: <%@ 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不为null,则一切正常。但是,当它为null时,我得到: 传递到字典中的模型项的类型为“ DTOSearchResults”,但是此字典需要类型为“ System.Collections.Generic.IEnumerable'1 [Task]”的模型项。 我认为它一定不知道要使用哪个重载,因此我明确地做到了这一点(见下文),但仍然遇到相同的问题! <% Html.RenderPartial("TaskList", (object)Model.Tasks, null); %> 我知道我可以通过检查null甚至不传递null来解决此问题,但这不是重点。为什么会这样呢?