페이지가 있습니다 :
<%@ 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을 전달하지 않아도이 문제를 해결할 수 있지만 그게 요점이 아닙니다. 왜 이런 일이 발생합니까?