Tôi có một trang:
<%@ Page Inherits="System.Web.Mvc.View<DTOSearchResults>" %>
Và trên đó, như sau:
<% Html.RenderPartial("TaskList", Model.Tasks); %>
Đây là đối tượng DTO:
public class DTOSearchResults
{
public string SearchTerm { get; set; }
public IEnumerable<Task> Tasks { get; set; }
và đây là một phần:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Task>>" %>
Khi Model.T Nhiệm vụ không có giá trị, mọi thứ đều hoạt động tốt. Tuy nhiên, khi null, tôi nhận được:
Mục mô hình được truyền vào từ điển thuộc loại 'DTOSearchResults' nhưng từ điển này yêu cầu một mục mô hình thuộc loại 'System.Collections.Generic.IEnumerable`1 [Nhiệm vụ]'.
Tôi hình dung nó phải không biết sử dụng quá tải nào, vì vậy tôi đã làm điều này (xem bên dưới) để rõ ràng, nhưng tôi vẫn gặp vấn đề tương tự!
<% Html.RenderPartial("TaskList", (object)Model.Tasks, null); %>
Tôi biết tôi có thể giải quyết vấn đề này bằng cách kiểm tra null hoặc thậm chí không chuyển null, nhưng đó không phải là vấn đề. Tại sao chuyện này đang xảy ra?