我有一个名为 LogViewModel 的 ViewModel,我有 3 个属性,如下所示。

public class LogViewModel
{
    public IEnumerable<Log> Logs { get; private set; }
    public PaginationHelper Pagination { get; set; }
    public LogFilter Filter { get; set; }
}

LogViewModel 作为模型传递给 View。
现在我需要将 LogFilter(带数据)传递给部分 View ,例如:
@Html.Partial("_LogsFilter", Model.Filter)

我尝试了很多方法,但总是得到相同的错误:



有什么想法吗?

最佳答案

因为 Filter 属性为空,框架会将模型从父 View 传递给局部 View ,即 LogViewModel ,而局部 View 需要 LogFilter 类型。

为了防止这种情况,请确保在呈现 View 之前实例化 Filter 属性,或者执行以下操作:

@Html.Partial("_LogsFilter", Model.Filter ?? new LogFilter())

10-07 14:41