无法使用 List ViewModel 呈现 PartialView

Cannot render PartialView with a List ViewModel

我有一个复合 ViewModel 如下:

public class HomeListViewModel  
{
    public HomeSearchRequestViewModel SearchRequest { get; set; }

    public List<BasicAdSummaryViewModel> AdSummayResults { get; set; }
}

在我的视图中,我想渲染 2 个 PartialView,如下所示:

@model MyNameSpace.HomeListViewModel
<div>
   @Html.Partial("_SearchRequest", Model.SearchRequest)
   @Html.Partial("_AdSummary", Model.AdSummayResults)
</div>

这是我的 _SearchRequest PartialView

@model MyNameSpace.HomeSearchRequestViewModel
<div>
        @Html.EditorFor(m => m.Keyword, new { htmlAttributes = new { @class = "form-control", @type = "text"} })
</div>

这是我的 _AdSummary PartialView:

@model IEnumerable<MyNameSpace.BasicAdSummaryViewModel>
@foreach (var item in Model) {
<tr>
    <td>
        @Html.DisplayFor(modelItem => item.Title)
    </td>
</tr>

第一个 PartialView 渲染良好,但我在第二个 PartialView 上收到此错误:

System.InvalidOperationException: 'The model item passed into the dictionary is of type 'MyNameSpace.HomeListViewModel', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable`1[MyNameSpace.BasicAdSummaryViewModel]'.'

我只在使用列表视图模型渲染局部视图时出现此错误...

调用

时会出现此错误消息
 @Html.Partial("_AdSummary", null)

MVC 似乎对空视图模型感到困惑;它无法判断 null 的类型是什么,因此假设该类型与当前视图模型相同。

解决方案是确保 Model.AdSummayResults 永远不会 null