我有一个名为 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())