我有一个页面:
<%@ 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来解决此问题,但这不是重点。为什么会这样呢?
慕田峪9158850
PIPIONE
吃鸡游戏