ฉันมีหน้า:
<%@ 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 [Task]'
ฉันคิดว่ามันจะต้องไม่ทราบว่าจะใช้งานเกินพิกัดใดดังนั้นฉันจึงทำสิ่งนี้ (ดูด้านล่าง) ให้ชัดเจน แต่ฉันก็ยังได้รับปัญหาเดียวกัน!
<% Html.RenderPartial("TaskList", (object)Model.Tasks, null); %>
ฉันรู้ว่าฉันสามารถแก้ไขได้โดยตรวจสอบค่าว่างหรือไม่ผ่านค่าว่าง แต่นั่นไม่ใช่ประเด็น ทำไมสิ่งนี้จึงเกิดขึ้น